aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2013-05-17 06:58:26 -0400
committerJohn W. Linville <linville@tuxdriver.com>2013-05-17 14:31:09 -0400
commit6bb4880d9ef30375da4507aeabd6dc261a2c6c2b (patch)
treea486d8c32c78e1615c1aa4dac402de2eed7b11a6 /drivers/net/wireless
parent0c585dda3574e40f562c362eaa326a98b1e49d02 (diff)
ath9k: fix draining aggregation tid buffers
After a tx attempt, an A-MPDU subframe can still have fi->retries at 0 (if the retry count wasn't incremented due to powersave). In that case it is still tracked as part of the block ack window, so when draining the tid queue, its sequence number needs to be cleared from the pending frame bitmap. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/ath/ath9k/xmit.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c
index ad6e0b306c37..14bb3354ea64 100644
--- a/drivers/net/wireless/ath/ath9k/xmit.c
+++ b/drivers/net/wireless/ath/ath9k/xmit.c
@@ -287,9 +287,7 @@ static void ath_tid_drain(struct ath_softc *sc, struct ath_txq *txq,
287 287
288 list_add_tail(&bf->list, &bf_head); 288 list_add_tail(&bf->list, &bf_head);
289 289
290 if (fi->retries) 290 ath_tx_update_baw(sc, tid, bf->bf_state.seqno);
291 ath_tx_update_baw(sc, tid, bf->bf_state.seqno);
292
293 ath_tx_complete_buf(sc, bf, txq, &bf_head, &ts, 0); 291 ath_tx_complete_buf(sc, bf, txq, &bf_head, &ts, 0);
294 } 292 }
295 293