linux/drivers/net/wireless/ath
Felix Fietkau 3412f2f086 ath9k_hw: improve reset reliability after errors
On many different chips, important aspects of the MAC state are not
fully cleared by a warm reset. This can show up as tx/rx hangs, those
annoying "DMA failed to stop in 10 ms..." messages or other quirks.

On AR933x, the chip can occasionally get stuck in a way that only a
driver unload/reload or a reboot would bring it back to life.

With this patch, a full reset is issued when bringing the chip out of
FULL-SLEEP state (after idle), or if either Rx or Tx was not shut down
properly. This makes the DMA related error messages disappear completely
in my tests on AR933x, and the chip does not get stuck anymore.

Cc: stable@vger.kernel.org
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-02-27 14:12:52 -05:00
..
ar5523 wireless: allow Atheros card to not depend on ath.ko 2012-11-30 13:38:16 -05:00
ath5k NET: ath5k, check ath5k_eeprom_mode_from_channel retval 2013-02-08 14:51:35 -05:00
ath6kl Merge branch 'for-linville' of git://github.com/kvalo/ath6kl 2013-02-15 14:06:32 -05:00
ath9k ath9k_hw: improve reset reliability after errors 2013-02-27 14:12:52 -05:00
carl9170 mac80211: inform the driver about update of dtim_period 2013-01-31 14:05:38 +01:00
wil6210 cfg80211: pass wiphy to cfg80211_ref_bss/put_bss 2013-02-11 18:44:52 +01:00
ath.h ath9k: Add a module parameter to enable diversity 2012-09-24 14:59:11 -04:00
debug.c
hw.c ath_hw: Use common REG_WRITE parameter order 2012-10-19 15:53:06 -04:00
Kconfig wireless: add new wil6210 802.11ad 60GHz driver 2013-01-04 16:10:53 -05:00
key.c ath9k: fix dynamic WEP related regression 2012-06-25 15:14:13 -04:00
main.c
Makefile wireless: add new wil6210 802.11ad 60GHz driver 2013-01-04 16:10:53 -05:00
reg.h
regd_common.h
regd.c wireless: make the reg_notifier() void 2013-01-14 11:32:44 +01:00
regd.h wireless: make the reg_notifier() void 2013-01-14 11:32:44 +01:00