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>
This commit is contained in:
committed by
John W. Linville
parent
06fed57379
commit
7e3514fdc0
@@ -910,6 +910,8 @@ void ath_radio_enable(struct ath_softc *sc, struct ieee80211_hw *hw)
|
|||||||
ath9k_hw_set_gpio(ah, ah->led_pin, 0);
|
ath9k_hw_set_gpio(ah, ah->led_pin, 0);
|
||||||
|
|
||||||
ieee80211_wake_queues(hw);
|
ieee80211_wake_queues(hw);
|
||||||
|
ieee80211_queue_delayed_work(hw, &sc->hw_pll_work, HZ/2);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
spin_unlock_bh(&sc->sc_pcu_lock);
|
spin_unlock_bh(&sc->sc_pcu_lock);
|
||||||
|
|
||||||
@@ -923,6 +925,8 @@ void ath_radio_disable(struct ath_softc *sc, struct ieee80211_hw *hw)
|
|||||||
int r;
|
int r;
|
||||||
|
|
||||||
ath9k_ps_wakeup(sc);
|
ath9k_ps_wakeup(sc);
|
||||||
|
cancel_delayed_work_sync(&sc->hw_pll_work);
|
||||||
|
|
||||||
spin_lock_bh(&sc->sc_pcu_lock);
|
spin_lock_bh(&sc->sc_pcu_lock);
|
||||||
|
|
||||||
ieee80211_stop_queues(hw);
|
ieee80211_stop_queues(hw);
|
||||||
|
Reference in New Issue
Block a user