Changeset 36040


Ignore:
Timestamp:
2013-03-15T16:22:06+01:00 (5 years ago)
Author:
nbd
Message:

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

File:
1 edited

Legend:

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

    r36035 r36040  
    860860        for (i = 0; i < 3; i++) { 
    861861                if (ah->txchainmask & BIT(i)) { 
     862--- a/drivers/net/wireless/ath/ath9k/link.c 
     863+++ b/drivers/net/wireless/ath/ath9k/link.c 
     864@@ -28,21 +28,21 @@ void ath_tx_complete_poll_work(struct wo 
     865        int i; 
     866        bool needreset = false; 
     867  
     868-       for (i = 0; i < ATH9K_NUM_TX_QUEUES; i++) 
     869-               if (ATH_TXQ_SETUP(sc, i)) { 
     870-                       txq = &sc->tx.txq[i]; 
     871-                       ath_txq_lock(sc, txq); 
     872-                       if (txq->axq_depth) { 
     873-                               if (txq->axq_tx_inprogress) { 
     874-                                       needreset = true; 
     875-                                       ath_txq_unlock(sc, txq); 
     876-                                       break; 
     877-                               } else { 
     878-                                       txq->axq_tx_inprogress = true; 
     879-                               } 
     880+       for (i = 0; i < IEEE80211_NUM_ACS; i++) { 
     881+               txq = sc->tx.txq_map[i]; 
     882+ 
     883+               ath_txq_lock(sc, txq); 
     884+               if (txq->axq_depth) { 
     885+                       if (txq->axq_tx_inprogress) { 
     886+                               needreset = true; 
     887+                               ath_txq_unlock(sc, txq); 
     888+                               break; 
     889+                       } else { 
     890+                               txq->axq_tx_inprogress = true; 
     891                        } 
     892-                       ath_txq_unlock_complete(sc, txq); 
     893                } 
     894+               ath_txq_unlock_complete(sc, txq); 
     895+       } 
     896  
     897        if (needreset) { 
     898                ath_dbg(ath9k_hw_common(sc->sc_ah), RESET, 
Note: See TracChangeset for help on using the changeset viewer.