浏览代码

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>
Vivek Natarajan 14 年之前
父节点
当前提交
7e3514fdc0
共有 1 个文件被更改,包括 4 次插入0 次删除
  1. 4 0
      drivers/net/wireless/ath/ath9k/main.c

+ 4 - 0
drivers/net/wireless/ath/ath9k/main.c

@@ -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);
 
 	ieee80211_wake_queues(hw);
+	ieee80211_queue_delayed_work(hw, &sc->hw_pll_work, HZ/2);
+
 out:
 	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;
 
 	ath9k_ps_wakeup(sc);
+	cancel_delayed_work_sync(&sc->hw_pll_work);
+
 	spin_lock_bh(&sc->sc_pcu_lock);
 
 	ieee80211_stop_queues(hw);