ath9k: fix draining aggregation tid buffers
authorFelix Fietkau <nbd@openwrt.org>
Fri, 17 May 2013 10:58:26 +0000 (12:58 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 17 May 2013 18:31:09 +0000 (14:31 -0400)
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>
drivers/net/wireless/ath/ath9k/xmit.c

index ad6e0b306c379b7a94175558006490b4213aee34..14bb3354ea645e970a9c847ab9b75fa7225ef8b4 100644 (file)
@@ -287,9 +287,7 @@ static void ath_tid_drain(struct ath_softc *sc, struct ath_txq *txq,
 
                list_add_tail(&bf->list, &bf_head);
 
-               if (fi->retries)
-                       ath_tx_update_baw(sc, tid, bf->bf_state.seqno);
-
+               ath_tx_update_baw(sc, tid, bf->bf_state.seqno);
                ath_tx_complete_buf(sc, bf, txq, &bf_head, &ts, 0);
        }