summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* libertas: make lbs_update_channel() function non-staticDavid Woodhouse2008-01-282-4/+5
| | | | | | | We'll want to use this for meshfrobbing Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: add ethtool support for wake-on-lan configurationDavid Woodhouse2008-01-286-11/+72
| | | | | | | Also, check that suspend is refused if HOST_SLEEP_CFG hasn't been done. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: implement suspend/resume for USB devicesDavid Woodhouse2008-01-281-5/+11
| | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: implement suspend and resume core methodsDavid Woodhouse2008-01-282-0/+49
| | | | | | | | | | | We (ab)use priv->fw_ready to stop the worker thread from sending more commands or data after the response to the HOST_SLEEP_ACTIVATE command comes in. And we set it from the callback function _directly_ to ensure that the worker thread sees it immediately; if we did it in lbs_suspend() after waking up, that might be too late. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: make worker thread not freezableDavid Woodhouse2008-01-281-4/+0
| | | | | | | We want it to send the HOST_SLEEP_ACTIVATE command on the way down... Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: switch lbs_cmd() to take a _pointer_ to the command structureDavid Woodhouse2008-01-283-15/+14
| | | | | | | This way, it looks more like a normal function. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: add lbs_host_sleep_cfg() command functionDavid Woodhouse2008-01-285-0/+38
| | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: slight cleanup of netif queue stop/wakeDavid Woodhouse2008-01-284-25/+20
| | | | | | | | In particular, we shouldn't be waking the queues in lbs_host_to_card_done() any more. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: add missing newlines in debugging statementsDavid Woodhouse2008-01-283-10/+10
| | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: be more careful about command responses matching cur_cmdDavid Woodhouse2008-01-284-17/+26
| | | | | | | | | Especially in the light of OLPC trac #5461, in which the firmware starts sending us seemingly random command responses which bear little relation to the command we sent it. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: add debugging output to lbs_mesh_config()David Woodhouse2008-01-281-1/+3
| | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: disable mesh temporarily while setting eth channel/assocDavid Woodhouse2008-01-281-2/+12
| | | | | | | Otherwise the device won't let us change channels. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: add missing newline on debug messageDavid Woodhouse2008-01-281-1/+1
| | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: allow setting channel on mshX deviceDavid Woodhouse2008-01-281-1/+52
| | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: allow get/set SSID on mshX deviceDavid Woodhouse2008-01-281-2/+50
| | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: whitespace cleanup in host.hDavid Woodhouse2008-01-281-202/+178
| | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: kill rx_urb_recall and eth_dev members of struct usb_card_recDavid Woodhouse2008-01-282-13/+2
| | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: kill references to mesh autostartDavid Woodhouse2008-01-282-75/+0
| | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: add lbs_mesh sysfs attribute for enabling meshDavid Woodhouse2008-01-288-17/+99
| | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: fix sparse endianness warnings in scan.cDavid Woodhouse2008-01-281-6/+5
| | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: make some more functions staticDavid Woodhouse2008-01-283-11/+11
| | | | | | | sparse was getting on my tits. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: endianness fixes for get_channel/set_channelDan Williams2008-01-281-4/+5
| | | | | | Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: convert RF_CHANNEL to a direct commandDan Williams2008-01-285-57/+75
| | | | | | Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: convert DATA_RATE to a direct commandDan Williams2008-01-286-56/+83
| | | | | | Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: fix case of FWT_ACCESS_LIST_ROUTE and FWT_ACCESS_LIST_NEIGHBOR ↵Dan Williams2008-01-281-2/+2
| | | | | | | | commands Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: remove casts from lbs_cmd() and lbs_cmd_with_response() macrosDavid Woodhouse2008-01-281-2/+2
| | | | | | | | | | If stupid people like me give it arguments with the wrong type (like a pointer to the structure, for example, instead of the structure itself), then we should probably notice that at compile time. Otherwise, much confusion ensues. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: convert CMD_MESH_ACCESS to a direct commandDavid Woodhouse2008-01-286-51/+39
| | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: fix debug output in lbs_cmd_copyback() function.David Woodhouse2008-01-281-3/+3
| | | | | | | Bad dcbw. Always test on big-endian, or at least use sparse. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: rename and re-type bufvirtualaddr to cmdbufDan Williams2008-01-288-100/+79
| | | | | | | | | Make it a struct cmd_header, since that's what it is, and clean up the places that it's used. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: wait for 'firmware ready' event from firmware after loadingDavid Woodhouse2008-01-282-5/+22
| | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: move removal of lbs_rtap file to lbs_stop_card()David Woodhouse2008-01-281-1/+1
| | | | | | | | This prevents us from trying to remove it when it didn't exist, in the error case. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: switch USB cardp->priv to 'struct lbs_private *' and resulting fixDavid Woodhouse2008-01-282-2/+4
| | | | | | | | Amazing what interesting things the compiler will tell you if you let it know what types you expect to be passing around. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: convert GET_HW_SPEC to a direct commandDan Williams2008-01-285-81/+73
| | | | | | Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: add simple copyback command callbackDan Williams2008-01-282-1/+35
| | | | | | | | | | | A simple callback which copies the response back into the command buffer that was used to send the command to the card. Will allow for direct command processing outside the mega-switches in cmd.c and cmdresp.c. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: clean up direct command handlingDan Williams2008-01-284-18/+31
| | | | | | | | | | | Move direct command handling through __lbs_cmd() over to using the header as the first member of the command structure, and only define the __lbs_cmd() callback in one place rather than 3. Convert boot2 version command to new usage. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: don't run thread while firmware not yet readyDavid Woodhouse2008-01-281-0/+5
| | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: switch to a waitqueue and timer for handling USB firmware loadDavid Woodhouse2008-01-282-12/+31
| | | | | | | | | No need to busy-wait, even if we did have a 100ms delay in the loop. This makes it easier to support the new 'firmware ready' event which is in the new firmware, too. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: improve reliability of firmware reloading on USBDavid Woodhouse2008-01-281-3/+3
| | | | | | | | | Increase the delay between issuing the RESET command and the usb reset, and be prepared to discard more than one 'normal' packet from it before it resets. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: make rtap and normal modes mutually exclusive, clean up open/stopDavid Woodhouse2008-01-282-84/+50
| | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: clean up is_command_allowed_in_ps()Dan Williams2008-01-281-15/+9
| | | | | | | | Total overkill to have an array when there's only one command in it. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: remove pre_open_check()David Woodhouse2008-01-281-32/+0
| | | | | | | | | | | The firmware is always initialised before we register the netdevices. It's not possible for pre_open_check() to fail. One day we might try loading firmware in ->open(), but still it won't be just a _check_, like this. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: make lbs_cmd() usage nicerDan Williams2008-01-284-9/+22
| | | | | | | | | | Define a macro that relieves the caller from having to use sizeof on the command structure when calling lbs_cmd(), and move the prototype of __lbs_cmd() to a new cmd.h file. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: clean up lbs_interrupt()David Woodhouse2008-01-285-17/+17
| | | | | | | | | | | | | Make it take struct lbs_private as argument; that's all it wants anyway, and all callers were starting off from that. Don't wake the netif queues, because those should be handled elsewhere. And sort out the locking, with a big nasty warning for those who don't have the driver_lock locked when they call it. Oh, and fix if_cs.c to lock the driver_lock before calling it. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: add opaque extra argument to cmd callback functionDavid Woodhouse2008-01-285-9/+16
| | | | | | | | This will be useful for letting callbacks do stuff like copying the response into a buffer provided by the caller of lbs_cmd() Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: fix use-after-free errorHolger Schurig2008-01-281-6/+8
| | | | | | | | Previously, the display of subscribed events could be wrong. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: kill (IS,SET,UNSET)_MESH_FRAME.David Woodhouse2008-01-281-4/+0
| | | | | | | | No need for these any more. We've collapsed all the unneeded nests of functions which needed to keep track of which device the skb belonged to. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: kill lbs_upload_tx_packet()David Woodhouse2008-01-283-26/+16
| | | | | | | | | It replaces two lines of code. And even for those it has to make inferences about things (i.e. which device) which the caller would have just known. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: fix error cases in lbs_process_rxed_802_11_packet()David Woodhouse2008-01-281-6/+8
| | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: remove unreachable code from process_rxed_802_11_packet()David Woodhouse2008-01-281-43/+32
| | | | | | | | The function is only ever called if we're in rtap mode. So the bit in it which is conditional on rtap mode seems a little superfluous. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: Move actual transmission to main threadDavid Woodhouse2008-01-283-61/+71
| | | | | | | | The locking issues with TX, especially TX from multiple netdevs, get _so_ much easier if you do it like this. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
OpenPOWER on IntegriCloud