2012-08-09 07:05:55

by Rajkumar Manoharan

[permalink] [raw]
Subject: [PATCH] ath9k: stop btcoex on device suspend

During suspend, the device will be moved to FULLSLEEP state.
As btcoex is never been stopped, the btcoex timer is running
and tries to access hw on fullsleep state. Fix that.

Cc: [email protected]
Signed-off-by: Rajkumar Manoharan <[email protected]>
---
drivers/net/wireless/ath/ath9k/pci.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/wireless/ath/ath9k/pci.c b/drivers/net/wireless/ath/ath9k/pci.c
index d455de9..a978984 100644
--- a/drivers/net/wireless/ath/ath9k/pci.c
+++ b/drivers/net/wireless/ath/ath9k/pci.c
@@ -321,6 +321,7 @@ static int ath_pci_suspend(struct device *device)
* Otherwise the chip never moved to full sleep,
* when no interface is up.
*/
+ ath9k_stop_btcoex(sc);
ath9k_hw_disable(sc->sc_ah);
ath9k_hw_setpower(sc->sc_ah, ATH9K_PM_FULL_SLEEP);

--
1.7.11.4



2012-08-16 09:23:42

by Felix Fietkau

[permalink] [raw]
Subject: Re: [PATCH] ath9k: stop btcoex on device suspend

On 2012-08-09 9:07 AM, Rajkumar Manoharan wrote:
> During suspend, the device will be moved to FULLSLEEP state.
> As btcoex is never been stopped, the btcoex timer is running
> and tries to access hw on fullsleep state. Fix that.
>
> Cc: [email protected]
> Signed-off-by: Rajkumar Manoharan <[email protected]>
Why put ath9k_stop_btcoex here? mac80211 calls drv_stop on suspend, and
ath9k_stop_btcoex is called early in ath9k_stop().

- Felix