PERFORCE change 134224 for review

Sam Leffler sam at FreeBSD.org
Sun Jan 27 11:06:31 PST 2008


http://perforce.freebsd.org/chv.cgi?CH=134224

Change 134224 by sam at sam_ebb on 2008/01/27 19:06:00

	don't cache iv_bss as it changes after calling ieee80211_create_ibss

Affected files ...

.. //depot/projects/vap/sys/net80211/ieee80211_hostap.c#5 edit

Differences ...

==== //depot/projects/vap/sys/net80211/ieee80211_hostap.c#5 (text+ko) ====

@@ -116,7 +116,6 @@
 hostap_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg)
 {
 	struct ieee80211com *ic = vap->iv_ic;
-	struct ieee80211_node *ni;
 	enum ieee80211_state ostate;
 
 	IEEE80211_LOCK_ASSERT(ic);
@@ -128,7 +127,6 @@
 	vap->iv_state = nstate;			/* state transition */
 	if (ostate != IEEE80211_S_SCAN)
 		ieee80211_cancel_scan(vap);	/* background scan */
-	ni = vap->iv_bss;			/* NB: no reference held */
 	switch (nstate) {
 	case IEEE80211_S_INIT:
 		switch (ostate) {
@@ -248,10 +246,11 @@
 		case IEEE80211_S_CSA:
 #ifdef IEEE80211_DEBUG
 			if (ieee80211_msg_debug(vap)) {
+				struct ieee80211_node *ni = vap->iv_bss;
 				ieee80211_note(vap,
 				    "synchronized with %s ssid ",
 				    ether_sprintf(ni->ni_bssid));
-				ieee80211_print_essid(vap->iv_bss->ni_essid,
+				ieee80211_print_essid(ni->ni_essid,
 				    ni->ni_esslen);
 				/* XXX MCS/HT */
 				printf(" channel %d start %uMb\n",
@@ -273,7 +272,7 @@
 		} else if (vap->iv_auth->ia_detach != NULL) {
 			vap->iv_auth->ia_detach(vap);
 		}
-		ieee80211_node_authorize(ni);
+		ieee80211_node_authorize(vap->iv_bss);
 		break;
 	default:
 		break;


More information about the p4-projects mailing list