diff options
author | Vasanthakumar Thiagarajan <vasanth@atheros.com> | 2010-05-17 21:57:54 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-06-02 16:13:19 -0400 |
commit | de0f648dc769daabd0842a8dcf439d5f1f23e07f (patch) | |
tree | faee8e60d7fc8b970f85d444f5b3dd3937b600f5 /drivers/net/wireless/ath/ath9k/xmit.c | |
parent | 77c2061d10a408d0220c2b0e7faefe52d9c41008 (diff) |
ath9k: Make sure null func frame is acked before going into PS for ar9003
Add missing code to handle nullfunc frame completion in
ath_tx_edma_tasklet().
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/xmit.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/xmit.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c index 859aa4ab0769..f63f6a944d62 100644 --- a/drivers/net/wireless/ath/ath9k/xmit.c +++ b/drivers/net/wireless/ath/ath9k/xmit.c | |||
@@ -2279,6 +2279,17 @@ void ath_tx_edma_tasklet(struct ath_softc *sc) | |||
2279 | 2279 | ||
2280 | txok = !(txs.ts_status & ATH9K_TXERR_MASK); | 2280 | txok = !(txs.ts_status & ATH9K_TXERR_MASK); |
2281 | 2281 | ||
2282 | /* | ||
2283 | * Make sure null func frame is acked before configuring | ||
2284 | * hw into ps mode. | ||
2285 | */ | ||
2286 | if (bf->bf_isnullfunc && txok) { | ||
2287 | if ((sc->ps_flags & PS_ENABLED)) | ||
2288 | ath9k_enable_ps(sc); | ||
2289 | else | ||
2290 | sc->ps_flags |= PS_NULLFUNC_COMPLETED; | ||
2291 | } | ||
2292 | |||
2282 | if (!bf_isampdu(bf)) { | 2293 | if (!bf_isampdu(bf)) { |
2283 | bf->bf_retries = txs.ts_longretry; | 2294 | bf->bf_retries = txs.ts_longretry; |
2284 | if (txs.ts_status & ATH9K_TXERR_XRETRY) | 2295 | if (txs.ts_status & ATH9K_TXERR_XRETRY) |