Changeset 36052


Ignore:
Timestamp:
2013-03-15T23:24:36+01:00 (5 years ago)
Author:
nbd
Message:

ath9k: add a fix to reduce the number of spurious tx hang detections

Backport of r36040

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/attitude_adjustment/package/mac80211/patches/300-pending_work.patch

    r35786 r36052  
    20722072 #define RSSI_LPF_THRESHOLD             -20 
    20732073 #define ATH_RSSI_EP_MULTIPLIER     (1<<7) 
     2074--- a/drivers/net/wireless/ath/ath9k/link.c 
     2075+++ b/drivers/net/wireless/ath/ath9k/link.c 
     2076@@ -31,21 +31,21 @@ void ath_tx_complete_poll_work(struct wo 
     2077        sc->tx_complete_poll_work_seen++; 
     2078 #endif 
     2079  
     2080-       for (i = 0; i < ATH9K_NUM_TX_QUEUES; i++) 
     2081-               if (ATH_TXQ_SETUP(sc, i)) { 
     2082-                       txq = &sc->tx.txq[i]; 
     2083-                       ath_txq_lock(sc, txq); 
     2084-                       if (txq->axq_depth) { 
     2085-                               if (txq->axq_tx_inprogress) { 
     2086-                                       needreset = true; 
     2087-                                       ath_txq_unlock(sc, txq); 
     2088-                                       break; 
     2089-                               } else { 
     2090-                                       txq->axq_tx_inprogress = true; 
     2091-                               } 
     2092+       for (i = 0; i < IEEE80211_NUM_ACS; i++) { 
     2093+               txq = sc->tx.txq_map[i]; 
     2094+ 
     2095+               ath_txq_lock(sc, txq); 
     2096+               if (txq->axq_depth) { 
     2097+                       if (txq->axq_tx_inprogress) { 
     2098+                               needreset = true; 
     2099+                               ath_txq_unlock(sc, txq); 
     2100+                               break; 
     2101+                       } else { 
     2102+                               txq->axq_tx_inprogress = true; 
     2103                        } 
     2104-                       ath_txq_unlock_complete(sc, txq); 
     2105                } 
     2106+               ath_txq_unlock_complete(sc, txq); 
     2107+       } 
     2108  
     2109        if (needreset) { 
     2110                ath_dbg(ath9k_hw_common(sc->sc_ah), RESET, 
Note: See TracChangeset for help on using the changeset viewer.