Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Jun 2009 17:25:20 +0000 (UTC)
From:      Sam Leffler <sam@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r193389 - head/sys/dev/ath
Message-ID:  <200906031725.n53HPKUa061196@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: sam
Date: Wed Jun  3 17:25:19 2009
New Revision: 193389
URL: http://svn.freebsd.org/changeset/base/193389

Log:
  treat IEEE80211_S_CSA as a "running state"; this fixes
  ap mode 11h channel switch announcements

Modified:
  head/sys/dev/ath/if_ath.c

Modified: head/sys/dev/ath/if_ath.c
==============================================================================
--- head/sys/dev/ath/if_ath.c	Wed Jun  3 17:19:12 2009	(r193388)
+++ head/sys/dev/ath/if_ath.c	Wed Jun  3 17:25:19 2009	(r193389)
@@ -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 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
 	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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906031725.n53HPKUa061196>