source: trunk/package/mac80211/patches/561-ath9k_fix_flush.patch @ 29132

Last change on this file since 29132 was 29132, checked in by nbd, 5 years ago

ath9k: rework radio stop/start cleanup, avoid duplicate rx/tx stop, avoid early phy stop

File size: 978 bytes
  • drivers/net/wireless/ath/ath9k/main.c

    a b static void ath9k_flush(struct ieee80211 
    22512251                return; 
    22522252        } 
    22532253 
    2254         if (drop) 
    2255                 timeout = 1; 
    2256  
    22572254        for (j = 0; j < timeout; j++) { 
    22582255                bool npend = false; 
    22592256 
    static void ath9k_flush(struct ieee80211 
    22712268                } 
    22722269 
    22732270                if (!npend) 
    2274                     goto out; 
     2271                    break; 
    22752272        } 
    22762273 
    2277         ath9k_ps_wakeup(sc); 
    2278         spin_lock_bh(&sc->sc_pcu_lock); 
    2279         drain_txq = ath_drain_all_txq(sc, false); 
    2280         spin_unlock_bh(&sc->sc_pcu_lock); 
     2274        if (drop) { 
     2275                ath9k_ps_wakeup(sc); 
     2276                spin_lock_bh(&sc->sc_pcu_lock); 
     2277                drain_txq = ath_drain_all_txq(sc, false); 
     2278                spin_unlock_bh(&sc->sc_pcu_lock); 
    22812279 
    2282         if (!drain_txq) 
    2283                 ath_reset(sc, false); 
     2280                if (!drain_txq) 
     2281                        ath_reset(sc, false); 
    22842282 
    2285         ath9k_ps_restore(sc); 
    2286         ieee80211_wake_queues(hw); 
     2283                ath9k_ps_restore(sc); 
     2284                ieee80211_wake_queues(hw); 
     2285        } 
    22872286 
    2288 out: 
    22892287        ieee80211_queue_delayed_work(hw, &sc->tx_complete_work, 0); 
    22902288        mutex_unlock(&sc->mutex); 
    22912289} 
Note: See TracBrowser for help on using the repository browser.