| 1 | --- a/drivers/net/wireless/ath/ath9k/ar9002_mac.c |
| 2 | +++ b/drivers/net/wireless/ath/ath9k/ar9002_mac.c |
| 3 | @@ -237,13 +237,15 @@ static int ar9002_hw_proc_txdesc(struct |
| 4 | status = ACCESS_ONCE(ads->ds_txstatus1); |
| 5 | if (status & AR_FrmXmitOK) |
| 6 | ts->ts_status |= ATH9K_TX_ACKED; |
| 7 | - if (status & AR_ExcessiveRetries) |
| 8 | - ts->ts_status |= ATH9K_TXERR_XRETRY; |
| 9 | - if (status & AR_Filtered) |
| 10 | - ts->ts_status |= ATH9K_TXERR_FILT; |
| 11 | - if (status & AR_FIFOUnderrun) { |
| 12 | - ts->ts_status |= ATH9K_TXERR_FIFO; |
| 13 | - ath9k_hw_updatetxtriglevel(ah, true); |
| 14 | + else { |
| 15 | + if (status & AR_ExcessiveRetries) |
| 16 | + ts->ts_status |= ATH9K_TXERR_XRETRY; |
| 17 | + if (status & AR_Filtered) |
| 18 | + ts->ts_status |= ATH9K_TXERR_FILT; |
| 19 | + if (status & AR_FIFOUnderrun) { |
| 20 | + ts->ts_status |= ATH9K_TXERR_FIFO; |
| 21 | + ath9k_hw_updatetxtriglevel(ah, true); |
| 22 | + } |
| 23 | } |
| 24 | if (status & AR_TxTimerExpired) |
| 25 | ts->ts_status |= ATH9K_TXERR_TIMER_EXPIRED; |
| 26 | |