summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2009-06-03 17:25:19 +0000
committersam <sam@FreeBSD.org>2009-06-03 17:25:19 +0000
commit674365d9a76ee054bba442785ce4f2bb8641df67 (patch)
treee6b68469bf821ae59c8216f342b93add8dfbfa9a /sys/dev
parent0051d14966633fbb8b9a68eb7083ca24061b36fa (diff)
downloadFreeBSD-src-674365d9a76ee054bba442785ce4f2bb8641df67.zip
FreeBSD-src-674365d9a76ee054bba442785ce4f2bb8641df67.tar.gz
treat IEEE80211_S_CSA as a "running state"; this fixes
ap mode 11h channel switch announcements
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ath/if_ath.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c
index 6409365..2413d19 100644
--- a/sys/dev/ath/if_ath.c
+++ b/sys/dev/ath/if_ath.c
@@ -2802,7 +2802,7 @@ ath_beacon_proc(void *arg, int pending)
slot = ((tsftu % ic->ic_lintval) * ATH_BCBUF) / ic->ic_lintval;
vap = sc->sc_bslot[(slot+1) % ATH_BCBUF];
bfaddr = 0;
- if (vap != NULL && vap->iv_state == IEEE80211_S_RUN) {
+ if (vap != NULL && vap->iv_state >= IEEE80211_S_RUN) {
bf = ath_beacon_generate(sc, vap);
if (bf != NULL)
bfaddr = bf->bf_daddr;
@@ -2812,7 +2812,7 @@ ath_beacon_proc(void *arg, int pending)
for (slot = 0; slot < ATH_BCBUF; slot++) {
vap = sc->sc_bslot[slot];
- if (vap != NULL && vap->iv_state == IEEE80211_S_RUN) {
+ if (vap != NULL && vap->iv_state >= IEEE80211_S_RUN) {
bf = ath_beacon_generate(sc, vap);
if (bf != NULL) {
*bflink = bf->bf_daddr;
@@ -2878,7 +2878,7 @@ ath_beacon_generate(struct ath_softc *sc, struct ieee80211vap *vap)
struct mbuf *m;
int nmcastq, error;
- KASSERT(vap->iv_state == IEEE80211_S_RUN,
+ KASSERT(vap->iv_state >= IEEE80211_S_RUN,
("not running, state %d", vap->iv_state));
KASSERT(avp->av_bcbuf != NULL, ("no beacon buffer"));
@@ -5506,7 +5506,7 @@ ath_isanyrunningvaps(struct ieee80211vap *this)
IEEE80211_LOCK_ASSERT(ic);
TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) {
- if (vap != this && vap->iv_state == IEEE80211_S_RUN)
+ if (vap != this && vap->iv_state >= IEEE80211_S_RUN)
return 1;
}
return 0;
OpenPOWER on IntegriCloud