2009-12-05 19:12:56 +02:00
|
|
|
--- a/drivers/net/wireless/ath/ath9k/xmit.c
|
|
|
|
+++ b/drivers/net/wireless/ath/ath9k/xmit.c
|
|
|
|
@@ -2078,7 +2078,7 @@ static void ath_tx_processq(struct ath_s
|
|
|
|
&txq->axq_q, lastbf->list.prev);
|
|
|
|
|
|
|
|
txq->axq_depth--;
|
|
|
|
- txok = (ds->ds_txstat.ts_status == 0);
|
2010-01-05 20:37:14 +02:00
|
|
|
+ txok = !(ds->ds_txstat.ts_status & ATH9K_TXERR_MASK);
|
2009-12-05 19:12:56 +02:00
|
|
|
txq->axq_tx_inprogress = false;
|
|
|
|
spin_unlock_bh(&txq->axq_lock);
|
|
|
|
|
2010-01-05 20:37:14 +02:00
|
|
|
--- a/drivers/net/wireless/ath/ath9k/mac.h
|
|
|
|
+++ b/drivers/net/wireless/ath/ath9k/mac.h
|
|
|
|
@@ -77,6 +77,9 @@
|
|
|
|
#define ATH9K_TXERR_XTXOP 0x08
|
|
|
|
#define ATH9K_TXERR_TIMER_EXPIRED 0x10
|
|
|
|
#define ATH9K_TX_ACKED 0x20
|
|
|
|
+#define ATH9K_TXERR_MASK \
|
|
|
|
+ (ATH9K_TXERR_XRETRY | ATH9K_TXERR_FILT | ATH9K_TXERR_FIFO | \
|
|
|
|
+ ATH9K_TXERR_XTXOP | ATH9K_TXERR_TIMER_EXPIRED)
|
|
|
|
|
|
|
|
#define ATH9K_TX_BA 0x01
|
|
|
|
#define ATH9K_TX_PWRMGMT 0x02
|