linux/drivers/net/wireless
Brian Norris 22dde1ed5a mwifiex: pcie: implement timeout loop for FW programming doorbell
Marvell Wifi PCIe modules don't always behave nicely for PCIe power
management when their firmware hasn't been loaded, particularly after
suspending the PCIe link one or more times. When this happens, we might
end up spinning forever in this status-polling tight loop. Let's make
this less tight by adding a timeout and by sleeping a bit in between
reads, as we do with the other similar loops.

This prevents us from hogging a CPU even in such pathological cases, and
allows the FW initialization to just fail gracefully instead.

I chose the same polling parameters as the earlier loop in this
function, and empirically, I found that this loop never makes it more
than about 12 cycles in a sane FW init sequence. I had no official
information on the actual intended latency for this portion of the
download.

Signed-off-by: Brian Norris <briannorris@chromium.org>
Acked-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2016-11-29 17:28:39 +02:00
..
admtek
ath Merge ath-next from git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git 2016-11-23 14:51:38 +02:00
atmel net: use core MTU range checking in wireless drivers 2016-10-20 14:51:08 -04:00
broadcom brcmsmac: fix array out-of-bounds access in qm_log10 2016-11-25 11:56:34 +02:00
cisco net: use core MTU range checking in wireless drivers 2016-10-20 14:51:08 -04:00
intel wireless: fix bogus maybe-uninitialized warning 2016-11-17 08:46:38 +02:00
intersil wireless: fix bogus maybe-uninitialized warning 2016-11-17 08:46:38 +02:00
marvell mwifiex: pcie: implement timeout loop for FW programming doorbell 2016-11-29 17:28:39 +02:00
mediatek mt7601u: use linux/bitfield.h 2016-09-09 12:09:25 +03:00
ralink rt2800: disable CCK rates on HT 2016-11-23 17:38:53 +02:00
realtek rtl8xxxu: tx rate reported before set 2016-11-28 17:37:07 +02:00
rsi rsi: Add support for 802.11d 2016-11-25 11:47:36 +02:00
st cw1200: fix bogus maybe-uninitialized warning 2016-11-17 08:47:58 +02:00
ti wlcore: Allow scans when in AP mode 2016-11-17 08:43:05 +02:00
zydas net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
Kconfig
mac80211_hwsim.c net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
mac80211_hwsim.h
Makefile
ray_cs.c net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
ray_cs.h
rayctl.h
rndis_wlan.c nl80211: support beacon report scanning 2016-07-06 14:51:31 +02:00
wl3501_cs.c net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
wl3501.h