linux/drivers/net/wireless/ath
Luis R. Rodriguez c2731b814e ath9k: Fix power save count imbalance on ath_radio_enable()
Upon a failure we never call ath9k_ps_restore() on ath_radio_enable(),
this will throw off the sc->ps_usecount. When the sc->ps_usecount
is > 0 we never put the chip to full sleep. This drains battery,
and will also make the chip fail upon resume with:

ath: Starting driver with initial channel: 5745 MHz
ath: timeout (100000 us) on reg 0x7000: 0xdeadbeef & 0x00000003 != 0x00000000

This would make the chip useless upon resume.

I cannot prove this can happen but in theory it is so best to
avoid this race completely and not have users complain about
a broken device after resume.

Cc: stable@kernel.org
Cc: Paul Stewart <pstew@google.com>
Cc: Amod Bodas <amod.bodas@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-13 15:23:27 -05:00
..
ar9170 wireless: Remove unnecessary casts of usb_get_intfdata 2010-12-02 15:16:47 -05:00
ath5k ath5k: Fix modinfo does not list alias -> pci-id lines 2010-12-09 08:53:42 -05:00
ath9k ath9k: Fix power save count imbalance on ath_radio_enable() 2010-12-13 15:23:27 -05:00
carl9170 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-12-02 15:46:37 -05:00
Kconfig carl9170: Makefile, Kconfig files and MAINTAINERS 2010-09-14 16:03:42 -04:00
Makefile ath: Copy key cache management functions from ath9k to ath 2010-09-16 15:19:45 -04:00
ath.h ath: fix build break with ATH_DBG_WARN_ON_ONCE 2010-12-09 09:42:10 -05:00
debug.c ath: Add and use ath_printk and ath_<level> 2010-12-07 16:34:39 -05:00
hw.c ath9k_hw: move the cycle counter tracking to ath 2010-10-11 15:04:20 -04:00
key.c ath: Convert ath_print to ath_dbg 2010-12-07 16:34:48 -05:00
main.c ath: Add and use ath_printk and ath_<level> 2010-12-07 16:34:39 -05:00
reg.h ath9k_hw: move the cycle counter tracking to ath 2010-10-11 15:04:20 -04:00
regd.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
regd.h ath9k_hw: fix parsing of HT40 5 GHz CTLs 2010-08-31 14:52:23 -04:00
regd_common.h