ath9k_hw: Fix descriptor status of TxOpExceeded
authorRajkumar Manoharan <rmanohar@qca.qualcomm.com>
Sat, 20 Aug 2011 11:52:09 +0000 (17:22 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 24 Aug 2011 18:57:15 +0000 (14:57 -0400)
Cc: stable@kernel.org
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/ar9003_mac.c

index 81ccce1faff538d2e32d6a0743dd16dfbd028d27..8ace36e77399137943510b95ad3f74a3575d4aba 100644 (file)
@@ -253,8 +253,6 @@ static int ar9003_hw_proc_txdesc(struct ath_hw *ah, void *ds,
                return -EIO;
        }
 
-       if (status & AR_TxOpExceeded)
-               ts->ts_status |= ATH9K_TXERR_XTXOP;
        ts->ts_rateindex = MS(status, AR_FinalTxIdx);
        ts->ts_seqnum = MS(status, AR_SeqNum);
        ts->tid = MS(status, AR_TxTid);
@@ -264,6 +262,8 @@ static int ar9003_hw_proc_txdesc(struct ath_hw *ah, void *ds,
        ts->ts_status = 0;
        ts->ts_flags  = 0;
 
+       if (status & AR_TxOpExceeded)
+               ts->ts_status |= ATH9K_TXERR_XTXOP;
        status = ACCESS_ONCE(ads->status2);
        ts->ts_rssi_ctl0 = MS(status, AR_TxRSSIAnt00);
        ts->ts_rssi_ctl1 = MS(status, AR_TxRSSIAnt01);