Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Felix Fietkau and committed by
John W. Linville
6bb4880d 0c585dda

+1 -3
+1 -3
drivers/net/wireless/ath/ath9k/xmit.c
··· 287 287 288 288 list_add_tail(&bf->list, &bf_head); 289 289 290 - if (fi->retries) 291 - ath_tx_update_baw(sc, tid, bf->bf_state.seqno); 292 - 290 + ath_tx_update_baw(sc, tid, bf->bf_state.seqno); 293 291 ath_tx_complete_buf(sc, bf, txq, &bf_head, &ts, 0); 294 292 } 295 293