aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/main.c
diff options
context:
space:
mode:
authorVivek Natarajan <vnatarajan@atheros.com>2011-02-25 07:01:02 -0500
committerJohn W. Linville <linville@tuxdriver.com>2011-02-25 15:33:39 -0500
commit7e3514fdc0f2c1c007f46f0ca584808edbfaee8f (patch)
treeb8fb3dab92741c250b27ca2583ead9bd8da0e4fe /drivers/net/wireless/ath/ath9k/main.c
parent06fed5737932585775f0f70bc06eb0fac76c7a27 (diff)
ath9k: Cancel pll_work while disabling radio.
pll_work should be cancelled on full_sleep or it may cause redundant chip reset. Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/main.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/main.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index 39a72ae80970..b8496696460e 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -910,6 +910,8 @@ void ath_radio_enable(struct ath_softc *sc, struct ieee80211_hw *hw)
910 ath9k_hw_set_gpio(ah, ah->led_pin, 0); 910 ath9k_hw_set_gpio(ah, ah->led_pin, 0);
911 911
912 ieee80211_wake_queues(hw); 912 ieee80211_wake_queues(hw);
913 ieee80211_queue_delayed_work(hw, &sc->hw_pll_work, HZ/2);
914
913out: 915out:
914 spin_unlock_bh(&sc->sc_pcu_lock); 916 spin_unlock_bh(&sc->sc_pcu_lock);
915 917
@@ -923,6 +925,8 @@ void ath_radio_disable(struct ath_softc *sc, struct ieee80211_hw *hw)
923 int r; 925 int r;
924 926
925 ath9k_ps_wakeup(sc); 927 ath9k_ps_wakeup(sc);
928 cancel_delayed_work_sync(&sc->hw_pll_work);
929
926 spin_lock_bh(&sc->sc_pcu_lock); 930 spin_lock_bh(&sc->sc_pcu_lock);
927 931
928 ieee80211_stop_queues(hw); 932 ieee80211_stop_queues(hw);