aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/main.c
diff options
context:
space:
mode:
authorVasanthakumar Thiagarajan <vasanth@atheros.com>2010-05-17 21:57:55 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-06-02 16:13:19 -0400
commitfdf766224795cc638a459f50156ad27c3ea26e7a (patch)
tree064569288ac1b2e9661b8f03f3e4f926b2ab57d6 /drivers/net/wireless/ath/ath9k/main.c
parentde0f648dc769daabd0842a8dcf439d5f1f23e07f (diff)
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>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/main.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/main.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index b98b2f2ed07d..d6e8be0999bc 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -1282,7 +1282,8 @@ static int ath9k_tx(struct ieee80211_hw *hw,
1282 * completed and if needed, also for RX of buffered frames. 1282 * completed and if needed, also for RX of buffered frames.
1283 */ 1283 */
1284 ath9k_ps_wakeup(sc); 1284 ath9k_ps_wakeup(sc);
1285 ath9k_hw_setrxabort(sc->sc_ah, 0); 1285 if (!(sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_AUTOSLEEP))
1286 ath9k_hw_setrxabort(sc->sc_ah, 0);
1286 if (ieee80211_is_pspoll(hdr->frame_control)) { 1287 if (ieee80211_is_pspoll(hdr->frame_control)) {
1287 ath_print(common, ATH_DBG_PS, 1288 ath_print(common, ATH_DBG_PS,
1288 "Sending PS-Poll to pick a buffered frame\n"); 1289 "Sending PS-Poll to pick a buffered frame\n");
@@ -1546,8 +1547,8 @@ void ath9k_enable_ps(struct ath_softc *sc)
1546 ah->imask |= ATH9K_INT_TIM_TIMER; 1547 ah->imask |= ATH9K_INT_TIM_TIMER;
1547 ath9k_hw_set_interrupts(ah, ah->imask); 1548 ath9k_hw_set_interrupts(ah, ah->imask);
1548 } 1549 }
1550 ath9k_hw_setrxabort(ah, 1);
1549 } 1551 }
1550 ath9k_hw_setrxabort(ah, 1);
1551} 1552}
1552 1553
1553static int ath9k_config(struct ieee80211_hw *hw, u32 changed) 1554static int ath9k_config(struct ieee80211_hw *hw, u32 changed)