8965e5bba020e42e6c3213a0289e8b04fa20ec26
[openwrt-10.03/.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