diff options
author | sam <sam@FreeBSD.org> | 2009-06-03 17:25:19 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2009-06-03 17:25:19 +0000 |
commit | 674365d9a76ee054bba442785ce4f2bb8641df67 (patch) | |
tree | e6b68469bf821ae59c8216f342b93add8dfbfa9a /sys/dev | |
parent | 0051d14966633fbb8b9a68eb7083ca24061b36fa (diff) | |
download | FreeBSD-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.c | 8 |
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; |