summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoravos <avos@FreeBSD.org>2016-05-02 15:14:16 +0000
committeravos <avos@FreeBSD.org>2016-05-02 15:14:16 +0000
commit75a20ac7276ccc369bfb17a47fbe2c2f0e4a7d19 (patch)
tree7895687423732ebd49c9f11c70e15dabd13361af
parent31a46ef3a08f0c7a1ae11902c997d491ae232162 (diff)
downloadFreeBSD-src-75a20ac7276ccc369bfb17a47fbe2c2f0e4a7d19.zip
FreeBSD-src-75a20ac7276ccc369bfb17a47fbe2c2f0e4a7d19.tar.gz
iwn: do not buffer frames for non-passive channels (it's not needed).
-rw-r--r--sys/dev/iwn/if_iwn.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/iwn/if_iwn.c b/sys/dev/iwn/if_iwn.c
index d0a952b..65724e7 100644
--- a/sys/dev/iwn/if_iwn.c
+++ b/sys/dev/iwn/if_iwn.c
@@ -2852,7 +2852,8 @@ iwn_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg)
sc->calib.state = IWN_CALIB_STATE_INIT;
/* Wait until we hear a beacon before we transmit */
- sc->sc_beacon_wait = 1;
+ if (IEEE80211_IS_CHAN_PASSIVE(ic->ic_curchan))
+ sc->sc_beacon_wait = 1;
if ((error = iwn_auth(sc, vap)) != 0) {
device_printf(sc->sc_dev,
@@ -2870,7 +2871,8 @@ iwn_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg)
}
/* Wait until we hear a beacon before we transmit */
- sc->sc_beacon_wait = 1;
+ if (IEEE80211_IS_CHAN_PASSIVE(ic->ic_curchan))
+ sc->sc_beacon_wait = 1;
/*
* !RUN -> RUN requires setting the association id
OpenPOWER on IntegriCloud