diff options
author | Vivek Natarajan <vnatarajan@atheros.com> | 2011-02-25 07:01:02 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-02-25 15:33:39 -0500 |
commit | 7e3514fdc0f2c1c007f46f0ca584808edbfaee8f (patch) | |
tree | b8fb3dab92741c250b27ca2583ead9bd8da0e4fe /drivers | |
parent | 06fed5737932585775f0f70bc06eb0fac76c7a27 (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')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/main.c | 4 |
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 | |||
913 | out: | 915 | out: |
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); |