ath9k: Fix power save with auto sleeping
Rx should not be disabed/disabled when hw supports auto sleeping. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
de0f648dc7
commit
fdf7662247
|
@ -1282,6 +1282,7 @@ static int ath9k_tx(struct ieee80211_hw *hw,
|
||||||
* completed and if needed, also for RX of buffered frames.
|
* completed and if needed, also for RX of buffered frames.
|
||||||
*/
|
*/
|
||||||
ath9k_ps_wakeup(sc);
|
ath9k_ps_wakeup(sc);
|
||||||
|
if (!(sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_AUTOSLEEP))
|
||||||
ath9k_hw_setrxabort(sc->sc_ah, 0);
|
ath9k_hw_setrxabort(sc->sc_ah, 0);
|
||||||
if (ieee80211_is_pspoll(hdr->frame_control)) {
|
if (ieee80211_is_pspoll(hdr->frame_control)) {
|
||||||
ath_print(common, ATH_DBG_PS,
|
ath_print(common, ATH_DBG_PS,
|
||||||
|
@ -1546,8 +1547,8 @@ void ath9k_enable_ps(struct ath_softc *sc)
|
||||||
ah->imask |= ATH9K_INT_TIM_TIMER;
|
ah->imask |= ATH9K_INT_TIM_TIMER;
|
||||||
ath9k_hw_set_interrupts(ah, ah->imask);
|
ath9k_hw_set_interrupts(ah, ah->imask);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
ath9k_hw_setrxabort(ah, 1);
|
ath9k_hw_setrxabort(ah, 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ath9k_config(struct ieee80211_hw *hw, u32 changed)
|
static int ath9k_config(struct ieee80211_hw *hw, u32 changed)
|
||||||
|
|
Loading…
Reference in New Issue