2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-10 14:43:54 +08:00
linux-next/drivers/net/wireless/ath
Rajkumar Manoharan c7c1806098 ath9k: Fix power save usage count imbalance on deinit
While unloading the driver, the ps_usecount is incremented
before configuring gpio registers in deinit_device.
But it is failed to restore the ps_usecount after that.
The problem is that the chip is forcibly moved to FULL SLEEP
by radio_disable when mac80211 is reporting as idle
though ps_usecount is not zero.

This patch retores ps_usecount properly and ensures that
the chip is always moved to full sleep only if ps usage
count is zero which also helps in debugging deadbeef on
multivif case. And also fixes the following warning.

ath: DMA failed to stop in 10 ms AR_CR=0xdeadbeef AR_DIAG_SW=0xdeadbeef
ath: Could not stop RX, we could be confusing the DMA engine when we
start RX up
------------[ cut here ]------------
WARNING: at drivers/net/wireless/ath/ath9k/recv.c:536
ath_stoprecv+0xf4/0x100 [ath9k]()

Cc: stable@kernel.org
Cc: Paul Stewart <pstew@google.com>
Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-01-28 15:27:20 -05:00
..
ar9170 wireless: Remove unnecessary casts of usb_get_intfdata 2010-12-02 15:16:47 -05:00
ath5k ath5k: correct endianness of frame duration 2011-01-27 16:41:07 -05:00
ath9k ath9k: Fix power save usage count imbalance on deinit 2011-01-28 15:27:20 -05:00
carl9170 carl9170: fix usb pm suspend->resume woes 2011-01-04 14:35:13 -05: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
Kconfig carl9170: Makefile, Kconfig files and MAINTAINERS 2010-09-14 16:03:42 -04:00
key.c ath: Missed to clear key4 of micentry 2010-12-13 15:23:27 -05:00
main.c ath: Add and use ath_printk and ath_<level> 2010-12-07 16:34:39 -05:00
Makefile ath: Copy key cache management functions from ath9k to ath 2010-09-16 15:19:45 -04:00
reg.h ath9k_hw: move the cycle counter tracking to ath 2010-10-11 15:04:20 -04:00
regd_common.h
regd.c ath: fix NULL pointer dereference on reg_notifier() 2010-12-16 15:22:31 -05:00
regd.h ath9k_hw: fix parsing of HT40 5 GHz CTLs 2010-08-31 14:52:23 -04:00