Просмотр исходного кода

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>
Felix Fietkau 12 лет назад
Родитель
Сommit
6bb4880d9e
1 измененных файлов с 1 добавлено и 3 удалено
  1. 1 3
      drivers/net/wireless/ath/ath9k/xmit.c

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

@@ -287,9 +287,7 @@ static void ath_tid_drain(struct ath_softc *sc, struct ath_txq *txq,
 
 
 		list_add_tail(&bf->list, &bf_head);
 		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);
 		ath_tx_complete_buf(sc, bf, txq, &bf_head, &ts, 0);
 	}
 	}