ath9k: fix excessive BAR sending when a frame exceeds its retry limit
authorFelix Fietkau <nbd@openwrt.org>
Sat, 15 Jan 2011 13:30:15 +0000 (14:30 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 19 Jan 2011 16:36:11 +0000 (11:36 -0500)
Because the sendbar variable was not reset to zero, the stack would send
Block ACK requests for all subframes following the one that failed, which
could mess up the receiver side block ack window.

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 fffd13d..ad569e1 100644 (file)
@@ -429,7 +429,7 @@ static void ath_tx_complete_aggr(struct ath_softc *sc, struct ath_txq *txq,
 
        ath_tx_count_frames(sc, bf, ts, txok, &nframes, &nbad);
        while (bf) {
-               txfail = txpending = 0;
+               txfail = txpending = sendbar = 0;
                bf_next = bf->bf_next;
 
                skb = bf->bf_mpdu;