linux/drivers/net/wireless
Sergey Ryazanov 8bfae4f993 ath5k: fix spontaneus AR5312 freezes
Sometimes while CPU have some load and ath5k doing the wireless
interface reset the whole WiSoC completely freezes. Set of tests shows
that using atomic delay function while we wait interface reset helps to
avoid such freezes.

The easiest way to reproduce this issue: create a station interface,
start continous scan with wpa_supplicant and load CPU by something. Or
just create multiple station interfaces and put them all in continous
scan.

This patch partially reverts the commit 1846ac3dbe ("ath5k: Use
usleep_range where possible"), which replaces initial udelay()
by usleep_range().

I do not know actual source of this issue, but all looks like that HW
freeze is caused by transaction on internal SoC bus, while wireless
block is in reset state.

Also I should note that I do not know how many chips are affected, but I
did not see this issue with chips, other than AR5312.

CC: Jiri Slaby <jirislaby@gmail.com>
CC: Nick Kossifidis <mickflemm@gmail.com>
CC: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Fixes: 1846ac3dbe ("ath5k: Use usleep_range where possible")
Reported-by: Christophe Prevotaux <c.prevotaux@rural-networks.com>
Tested-by: Christophe Prevotaux <c.prevotaux@rural-networks.com>
Tested-by: Eric Bree <ebree@nltinc.com>
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-02-06 08:42:32 +02:00
..
ath ath5k: fix spontaneus AR5312 freezes 2015-02-06 08:42:32 +02:00
b43 b43: AC-PHY: prepare place for developing new PHY support 2015-01-29 10:54:43 +02:00
b43legacy b43legacy: Remove unused b43legacy_radio_set_tx_iq() 2015-01-15 15:35:46 +02:00
brcm80211 brcmfmac: fix nvram processing 2015-01-29 10:00:19 +02:00
cw1200 Merge commit 'c1e140bf79d817d4a7aa9932eb98b0359c87af33' from mac80211-next 2015-01-22 14:49:44 +02:00
hostap hostap_cs: fix misspelling of current function in string 2014-12-15 13:46:19 -05:00
ipw2x00 ipw2200: select CFG80211_WEXT 2014-12-24 15:15:25 +02:00
iwlegacy iwl3945: Use setup_timer 2015-01-07 10:45:08 +02:00
iwlwifi iwlwifi: mvm: fix rx chains configuration in phy ctxt cmd 2015-01-22 22:17:22 +02:00
libertas cfg80211: remove enum station_info_flags 2015-01-08 15:28:10 +01:00
libertas_tf treewide: Fix typo in printk 2014-08-26 09:35:54 +02:00
mwifiex mwifiex: disable UAPSD mode when AP starts 2015-02-03 15:28:56 +02:00
orinoco orinoco/hermes: select CFG80211_WEXT 2015-01-15 15:04:10 +02:00
p54 p54pci: add handling of signal case 2015-01-23 21:37:04 +02:00
prism54 PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
rsi rsi: fix memory leak in rsi_load_ta_instructions() 2014-12-24 17:26:08 +02:00
rt2x00 Merge commit 'c1e140bf79d817d4a7aa9932eb98b0359c87af33' from mac80211-next 2015-01-22 14:49:44 +02:00
rtl818x rtl818x_pci: fix response rate may be incorrect. 2014-10-07 14:48:37 -04:00
rtlwifi rtlwifi: rtl8192ee: Fix problems with calculating free space in FIFO 2015-02-06 08:36:08 +02:00
ti wlcore: unlock on error in wl1271_op_suspend() 2015-01-23 19:37:42 +02:00
zd1211rw zd1211rw: fix misspelling of current function in string 2014-12-15 13:46:19 -05:00
adm8211.c adm8211: fix error return code 2015-01-15 14:44:42 +02:00
adm8211.h
airo_cs.c airo_cs: Remove typedef local_info_t 2014-08-11 12:19:53 -07:00
airo.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
airo.h
at76c50x-usb.c at76c50x-usb: fix use after free on failure path in at76_probe() 2014-08-25 15:39:23 -04:00
at76c50x-usb.h
atmel_cs.c atmel_cs: Remove typedef local_info_t 2014-08-25 16:17:41 -04:00
atmel_pci.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
atmel.c atmel: Remove open-coded and wrong strcasecmp 2015-01-23 21:38:54 +02:00
atmel.h
Kconfig net: fix USB network driver config option. 2014-08-06 16:00:20 -07:00
mac80211_hwsim.c Merge commit 'c1e140bf79d817d4a7aa9932eb98b0359c87af33' from mac80211-next 2015-01-22 14:49:44 +02:00
mac80211_hwsim.h mac80211-hwsim: Add HWSIM_CMD_GET_RADIO command 2014-11-19 18:59:32 +01:00
Makefile
mwl8k.c cfg80211: remove "channel" from survey names 2015-01-08 15:27:52 +01:00
ray_cs.c
ray_cs.h ray_cs: Add include guards 2014-08-28 14:41:56 -04:00
rayctl.h ray_cs: Add include guards 2014-08-28 14:41:56 -04:00
rndis_wlan.c cfg80211: remove enum station_info_flags 2015-01-08 15:28:10 +01:00
wl3501_cs.c
wl3501.h
zd1201.c
zd1201.h