ath9k: merge a few fixes from trunk
[openwrt-10.03/.git] / package / mac80211 / patches / 550-ath9k_xretry_fix.patch
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;