- Sep 11, 2012
-
-
Daniel Drake authored
CMD_MAC_CONTROL is currently sent async to the firmware, and is sent from the lbs_setup_firmware() path during device init. This means that device init can complete with commands pending, and the if_sdio driver will sometimes power down the device (after init) with this command still pending. This was causing an occasional spurious command timeout after init, leading to a device reset. Fix this by making CMD_MAC_CONTROL synchronous when called from the lbs_setup_firmware() path. Signed-off-by:
Daniel Drake <dsd@laptop.org> Signed-off-by:
Dan Williams <dcbw@redhat.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- Jul 17, 2012
-
-
Daniel Drake authored
reg_notifier can be called before the interface is up. Handle this correctly by storing the requested country code, then apply the relevant configuration when the interface is brought up. Signed-off-by:
Daniel Drake <dsd@laptop.org> Acked-by:
Dan Williams <dcbw@redhat.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- Jul 11, 2011
-
-
Daniel Drake authored
When commands time out, corruption ensues. As lbs_complete_command() is called without locking, the command node is mistakenly freed twice. Also fixed up locking here in a few other places. The nature of command timeout may be that the card didn't even acknowledge receipt of the request. Detect this case and reset dnld_sent so that other commands don't hang forever. When cmdnodes are moved between the free list and the pending list, their list heads should be reinitialized. Fixed this. Sometimes commands are completed without actually submitting them or removing them from cmdpendingq. We must remember to remove them from cmdpendingq in these cases, so handle this in lbs_complete_command(). Harmless signals generated during suspend/resume were interrupting lbs_cmd. Convert to an uninterruptible sleep to avoid this. lbs_thread must be woken up every time there is some new work to do. I found that when 2 commands are queued, ther completion of the first command would not wake up lbs_thread to submit the second. Poke lbs_thread at the end of lbs_complete_command() to fix this. Signed-off-by:
Daniel Drake <dsd@laptop.org> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- Jul 27, 2010
-
-
Dan Williams authored
Remove last bits of indirect command code. Signed-off-by:
Dan Williams <dcbw@redhat.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Dan Williams authored
Powersave looks like it got broken at some point but we'll fix that up when the command submission stuff is more understandable, which this series helps to do. That said, this patch should not further break powersave. Signed-off-by:
Dan Williams <dcbw@redhat.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Dan Williams authored
Signed-off-by:
Dan Williams <dcbw@redhat.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Dan Williams authored
Signed-off-by:
Dan Williams <dcbw@redhat.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Dan Williams authored
Convert to a full direct command; previous code rolled a direct command by hand but left the original indirect command code intact but disabled. Signed-off-by:
Dan Williams <dcbw@redhat.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Dan Williams authored
Convert to a full direct command; previous code rolled a direct command by handle but left the original indirect command code lying around. Signed-off-by:
Dan Williams <dcbw@redhat.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- Jul 12, 2010
-
-
Amitkumar Karwar authored
Existing "ethtool -s ethX wol X" command configures hostsleep parameters, but those are activated only during suspend/resume, there is no way to configure host sleep without actual suspend. This patch adds debugfs command to enable/disable host sleep based on already configured host sleep parameters using wol command. Signed-off-by:
Amitkumar Karwar <akarwar@marvell.com> Signed-off-by:
Kiran Divekar <dkiran@marvell.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- Dec 22, 2009
-
-
Holger Schurig authored
Signed-off-by:
Holger Schurig <holgerschurig@gmail.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- Oct 27, 2009
-
-
Holger Schurig authored
That's because the new cfg80211 implementation will provide cleaner implementations. No functional changes. Signed-off-by:
Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Holger Schurig authored
Signed-off-by:
Holger Schurig <hs4233@mail.mn-solutions.de> Acked-by:
Dan Williams <dcbw@redhat.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Holger Schurig authored
Signed-off-by:
Holger Schurig <hs4233@mail.mn-solutions.de> Acked-by:
Dan Williams <dcbw@redhat.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Holger Schurig authored
* move declarations for functions of cmd.c/cmdresp.c into cmd.h * move declarations from cmd.h that are in main.c to decl.h * group command functions Signed-off-by:
Holger Schurig <hs4233@mail.mn-solutions.de> Acked-by:
Dan Williams <dcbw@redhat.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Holger Schurig authored
Also remove some unused definitions and make tab usage consistent. Signed-off-by:
Holger Schurig <hs4233@mail.mn-solutions.de> Acked-by:
Dan Williams <dcbw@redhat.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Holger Schurig authored
This function will be needed for the cfg80211-enabled libertas driver. Signed-off-by:
Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- Nov 21, 2008
-
-
Anna Neal authored
Based on a patch from Shailendra Govardhan <shailen@marvell.com>. This patch allows implementation of more specific wake-on-lan rules than those of ethtool. Please note that only firmware 5.110.22.p20 and above supports this feature. This patch only implements the driver/firmware interface, not the userspace/driver interface. Signed-off-by:
Anna Neal <anna@cozybit.com> Signed-off-by:
Javier Cardona <javier@cozybit.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- Sep 30, 2008
-
-
Anna Neal authored
This patch addresses comments from Dan Williams about the patch committed as "libertas: Improvements on automatic tx power control via SIOCSIWTXPOW." Signed-off-by:
Anna Neal <anna@cozybit.com> Signed-off-by:
Javier Cardona <javier@cozybit.com> Signed-off-by:
Dan Williams <dcbw@redhat.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- Sep 15, 2008
-
-
Dan Williams authored
And support setting both long and short retries independently. Signed-off-by:
Dan Williams <dcbw@redhat.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- Sep 11, 2008
-
-
Anna Neal authored
iwconfig txpower can now be used to set tx power to fixed or auto. If set to auto the default firmware settings are used. The command CMD_802_11_PA_CFG is only sent to older firmware, as Dan Williams noted the command was no longer supported in firmware V9+. Signed-off-by:
Anna Neal <anna@cozybit.com> Signed-off-by:
Javier Cardona <javier@cozybit.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- Aug 29, 2008
-
-
Dan Williams authored
and return errors for operations like join & scan that aren't possible when the radio is turned off. Signed-off-by:
Dan Williams <dcbw@redhat.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Dan Williams authored
And while we're at it, grab min/max TX power from the firmware and use that to validate incoming TX power requests from WEXT. Signed-off-by:
Dan Williams <dcbw@redhat.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- Jun 03, 2008
-
-
Javier Cardona authored
Implemented rate adaptation support via 'iwconfig rate' API. It is now possible to specify a bit-rate value and append 'auto'. That will configure rate adaptation to use all bit-rates equal or lower than than selected value. Made lbs_cmd_802_11_rate_adapt_rateset a direct command. Signed-off-by:
Javier Cardona <javier@cozybit.com> Signed-off-by:
David Woodhouse <dwmw2@infradead.org> Acked-by:
Dan Williams <dcbw@redhat.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- May 22, 2008
-
-
Javier Cardona authored
This patch is based on a patch from Shailendra Govardhan and Brian Cavagnolo. It extends the MESH_CONFIG command to configure non-volatile parameters on libertas devices that support them (e.g. OLPC Active Antenna). This patch only implements the driver/firmware interface. See http://dev.laptop.org/ticket/6823 for minimal testing results and known issues. Signed-off-by:
Javier Cardona <javier@cozybit.com> Signed-off-by:
David Woodhouse <dwmw2@infradead.org> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- May 14, 2008
-
-
Holger Schurig authored
lbs_get_data_rate() gets called, but no-one uses it's result. Signed-off-by:
Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- May 07, 2008
-
-
Holger Schurig authored
They don't return anything meaningfull and no-one cares about their results. Signed-off-by:
Holger Schurig <hs4233@mail.mn-solutions.de> Acked-by:
Dan Williams <dcbw@redhat.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- Mar 25, 2008
-
-
Holger Schurig authored
This uses a static lbs_cmd_async_callback function, which is a noop. Just setting the callback argument to __lbs_cmd_async() to NULL won't work, because then the cmdnode wouldn't be released. This also makes __lbs_cmd_async() a static method, which is now only used by lbs_cmd() and lbs_cmd_async(). Signed-off-by:
Holger Schurig <hs4233@mail.mn-solutions.de> Acked-by:
Dan Williams <dcbw@redhat.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- Mar 06, 2008
-
-
David Woodhouse authored
The struct enc_key probably wants to die too, but that can come later. Signed-off-by:
David Woodhouse <dwmw2@infradead.org> Acked-by:
Dan Williams <dcbw@redhat.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- Jan 28, 2008
-
-
David Woodhouse authored
sizeof(*cmd) is going to give the total size of the data structure that we allocated, more often than not. But the size of the command to be _sent_ could be a lot smaller, as it is in the KEY_MATERIAL and SUBSCRIBE_EVENT commands for example. So swap them round; let the caller set the _command_ size explicitly in the header, and infer the maximum response size from the data structure. Signed-off-by:
David Woodhouse <dwmw2@infradead.org> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
David Woodhouse authored
Signed-off-by:
David Woodhouse <dwmw2@infradead.org> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
David Woodhouse authored
Signed-off-by:
David Woodhouse <dwmw2@infradead.org> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
David Woodhouse authored
Signed-off-by:
David Woodhouse <dwmw2@infradead.org> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
David Woodhouse authored
Signed-off-by:
David Woodhouse <dwmw2@infradead.org> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
David Woodhouse authored
Signed-off-by:
David Woodhouse <dwmw2@infradead.org> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
David Woodhouse authored
Signed-off-by:
David Woodhouse <dwmw2@infradead.org> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
David Woodhouse authored
Signed-off-by:
David Woodhouse <dwmw2@infradead.org> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
David Woodhouse authored
There is weirdness here; the firmware seems to refuse to change channels at will. Signed-off-by:
David Woodhouse <dwmw2@infradead.org> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
David Woodhouse authored
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>
-
David Woodhouse authored
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>
-