Browse Source

ath9k: fix excessive BAR sending when a frame exceeds its retry limit

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>
Felix Fietkau 14 năm trước cách đây
mục cha
commit
f0b8220c64
1 tập tin đã thay đổi với 1 bổ sung1 xóa
  1. 1 1
      drivers/net/wireless/ath/ath9k/xmit.c

+ 1 - 1
drivers/net/wireless/ath/ath9k/xmit.c

@@ -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;