ath9k: improve ath_tx_aggr_stop to avoid TID stuck in cleanup state
authorNikolay Martynov <mar.kolya@gmail.com>
Mon, 21 Nov 2011 22:32:06 +0000 (17:32 -0500)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 28 Nov 2011 19:36:22 +0000 (14:36 -0500)
commit4eb287a4048e4a2cb0400a6d972d97739ec8c799
tree56b41c9627152aee4ce75354508a96f7257e72bf
parentf724828bd3db7e0fe6f17ed8de2656bfbfed5c4e
ath9k: improve ath_tx_aggr_stop to avoid TID stuck in cleanup state

When tx agg is being stopped TID is flushed using ath_tx_flush_tid. It
is possible that ath_tx_flush_tid completelly flushes TID (if all
packets in this TID have already been retried). If this happened
ath_tx_aggr_stop would leave TID in cleanup state permanently.
Fix this by making ath_tx_flush_tid remove AGGR_ADDBA_COMPLETE and
AGGR_CLEANUP flags from TID status if TID is empty.

Signed-off-by: Nikolay Martynov <mar.kolya@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/xmit.c