diff options
author | Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> | 2012-07-06 10:39:32 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-07-09 16:36:38 -0400 |
commit | c32cdbd84ffe289a1386eccb794b047a8366913d (patch) | |
tree | e1db2cc081be5aea8587061c53c546ecc8984333 | |
parent | dd89f05a7572684bbbc1483c60418504cc91cfe6 (diff) |
ath9k: Stop the BTCOEX timers before disabling BTCOEX
Its safe to stop the BTCOEX timers 'period_timer' and
'no_stomp_timer' before disabling BTCOEX. These timers
can call ath9k_hw_btcoex_enable (or) change the BT
stomp type if they seem to be running after we had
called ath9k_hw_btcoex_disable, which is obviously
not correct.
Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Cc: Bala Shanmugam <bkamatch@qca.qualcomm.com>
Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/ath/ath9k/gpio.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/mci.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/gpio.c b/drivers/net/wireless/ath/ath9k/gpio.c index c9ac7df9b881..bacdb8fb4ef4 100644 --- a/drivers/net/wireless/ath/ath9k/gpio.c +++ b/drivers/net/wireless/ath/ath9k/gpio.c | |||
@@ -393,9 +393,9 @@ void ath9k_stop_btcoex(struct ath_softc *sc) | |||
393 | 393 | ||
394 | if (ah->btcoex_hw.enabled && | 394 | if (ah->btcoex_hw.enabled && |
395 | ath9k_hw_get_btcoex_scheme(ah) != ATH_BTCOEX_CFG_NONE) { | 395 | ath9k_hw_get_btcoex_scheme(ah) != ATH_BTCOEX_CFG_NONE) { |
396 | ath9k_hw_btcoex_disable(ah); | ||
397 | if (ath9k_hw_get_btcoex_scheme(ah) == ATH_BTCOEX_CFG_3WIRE) | 396 | if (ath9k_hw_get_btcoex_scheme(ah) == ATH_BTCOEX_CFG_3WIRE) |
398 | ath9k_btcoex_timer_pause(sc); | 397 | ath9k_btcoex_timer_pause(sc); |
398 | ath9k_hw_btcoex_disable(ah); | ||
399 | if (AR_SREV_9462(ah)) | 399 | if (AR_SREV_9462(ah)) |
400 | ath_mci_flush_profile(&sc->btcoex.mci); | 400 | ath_mci_flush_profile(&sc->btcoex.mci); |
401 | } | 401 | } |
diff --git a/drivers/net/wireless/ath/ath9k/mci.c b/drivers/net/wireless/ath/ath9k/mci.c index 64cc782587d8..87acff7fdaae 100644 --- a/drivers/net/wireless/ath/ath9k/mci.c +++ b/drivers/net/wireless/ath/ath9k/mci.c | |||
@@ -174,8 +174,8 @@ skip_tuning: | |||
174 | btcoex->btcoex_period >>= 1; | 174 | btcoex->btcoex_period >>= 1; |
175 | } | 175 | } |
176 | 176 | ||
177 | ath9k_hw_btcoex_disable(sc->sc_ah); | ||
178 | ath9k_btcoex_timer_pause(sc); | 177 | ath9k_btcoex_timer_pause(sc); |
178 | ath9k_hw_btcoex_disable(sc->sc_ah); | ||
179 | 179 | ||
180 | if (IS_CHAN_5GHZ(sc->sc_ah->curchan)) | 180 | if (IS_CHAN_5GHZ(sc->sc_ah->curchan)) |
181 | return; | 181 | return; |