8965e5bba020e42e6c3213a0289e8b04fa20ec26
[openwrt/openwrt.git] / package / mac80211 / patches / 540-ath9k_tx_fix.patch
1 --- a/drivers/net/wireless/ath/ath9k/xmit.c
2 +++ b/drivers/net/wireless/ath/ath9k/xmit.c
3 @@ -2078,7 +2078,7 @@ static void ath_tx_processq(struct ath_s
4 &txq->axq_q, lastbf->list.prev);
5
6 txq->axq_depth--;
7 - txok = (ds->ds_txstat.ts_status == 0);
8 + txok = !(ds->ds_txstat.ts_status & ATH9K_TXERR_MASK);
9 txq->axq_tx_inprogress = false;
10 spin_unlock_bh(&txq->axq_lock);
11
12 --- a/drivers/net/wireless/ath/ath9k/mac.h
13 +++ b/drivers/net/wireless/ath/ath9k/mac.h
14 @@ -77,6 +77,9 @@
15 #define ATH9K_TXERR_XTXOP 0x08
16 #define ATH9K_TXERR_TIMER_EXPIRED 0x10
17 #define ATH9K_TX_ACKED 0x20
18 +#define ATH9K_TXERR_MASK \
19 + (ATH9K_TXERR_XRETRY | ATH9K_TXERR_FILT | ATH9K_TXERR_FIFO | \
20 + ATH9K_TXERR_XTXOP | ATH9K_TXERR_TIMER_EXPIRED)
21
22 #define ATH9K_TX_BA 0x01
23 #define ATH9K_TX_PWRMGMT 0x02