Changeset 28108


Ignore:
Timestamp:
2011-08-29T00:06:44+02:00 (6 years ago)
Author:
nbd
Message:

ath9k: prevent calibration / beacons from starting too early

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/mac80211/patches/581-ath9k_merge_reset_functions.patch

    r28107 r28108  
    8686-               goto ps_restore; 
    8787-       } 
    88 +static bool ath_complete_reset(struct ath_softc *sc) 
     88+static bool ath_complete_reset(struct ath_softc *sc, bool start) 
    8989+{ 
    9090+       struct ath_hw *ah = sc->sc_ah; 
     
    9999  
    100100        ath9k_cmn_update_txpow(ah, sc->curtxpow, 
    101 @@ -299,18 +255,84 @@ static int ath_set_channel(struct ath_so 
    102         if (!(sc->sc_flags & (SC_OP_OFFCHANNEL))) { 
     101@@ -296,21 +252,87 @@ static int ath_set_channel(struct ath_so 
     102        ath9k_hw_set_interrupts(ah, ah->imask); 
     103        ath9k_hw_enable_interrupts(ah); 
     104  
     105-       if (!(sc->sc_flags & (SC_OP_OFFCHANNEL))) { 
     106+       if (!(sc->sc_flags & (SC_OP_OFFCHANNEL)) && start) { 
    103107                if (sc->sc_flags & SC_OP_BEACONS) 
    104108                        ath_set_beacon(sc); 
     
    155159+       } 
    156160+ 
    157 +       if (!ath_complete_reset(sc)) 
     161+       if (!ath_complete_reset(sc, true)) 
    158162+               return -EIO; 
    159163+ 
     
    202206-       ath9k_hw_set_interrupts(ah, ah->imask); 
    203207-       ath9k_hw_enable_interrupts(ah); 
    204 +       ath_complete_reset(sc); 
     208+       ath_complete_reset(sc, true); 
    205209  
    206210        /* Enable LED */ 
     
    331335  
    332336-       ieee80211_wake_queues(hw); 
    333 +       if (!ath_complete_reset(sc)) { 
     337+       if (!ath_complete_reset(sc, false)) { 
    334338+               r = -EIO; 
    335339+               spin_unlock_bh(&sc->sc_pcu_lock); 
Note: See TracChangeset for help on using the changeset viewer.