PERFORCE change 77275 for review

Sam Leffler sam at FreeBSD.org
Sun May 22 03:51:10 GMT 2005


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

Change 77275 by sam at sam_ebb on 2005/05/22 03:50:33

	fix two more cases where we need to honor manual roaming:
	RUN -> AUTH and RUN -> ASSOC

Affected files ...

.. //depot/projects/vap/sys/net80211/ieee80211_proto.c#10 edit

Differences ...

==== //depot/projects/vap/sys/net80211/ieee80211_proto.c#10 (text+ko) ====

@@ -1145,8 +1145,9 @@
 	enum ieee80211_state ostate;
 
 	ostate = vap->iv_state;
-	IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE, "%s: %s -> %s\n", __func__,
-		ieee80211_state_name[ostate], ieee80211_state_name[nstate]);
+	IEEE80211_DPRINTF(vap, IEEE80211_MSG_STATE, "%s: %s -> %s (arg 0x%x)\n",
+	    __func__, ieee80211_state_name[ostate],
+	    ieee80211_state_name[nstate], arg);
 	vap->iv_state = nstate;			/* state transition */
 	callout_stop(&vap->iv_mgtsend);
 	if (ostate != IEEE80211_S_SCAN)
@@ -1272,7 +1273,6 @@
 		case IEEE80211_S_ASSOC:
 			switch (arg) {
 			case IEEE80211_FC0_SUBTYPE_AUTH:
-				/* ??? */
 				IEEE80211_SEND_MGMT(ni,
 				    IEEE80211_FC0_SUBTYPE_AUTH, 2);
 				break;
@@ -1290,10 +1290,12 @@
 				vap->iv_state = ostate;	/* stay RUN */
 				break;
 			case IEEE80211_FC0_SUBTYPE_DEAUTH:
-				/* try to reauth */
-				IEEE80211_SEND_MGMT(ni,
-				    IEEE80211_FC0_SUBTYPE_AUTH, 1);
 				ieee80211_sta_leave(ni);
+				if (ic->ic_roaming == IEEE80211_ROAMING_AUTO) {
+					/* try to reauth */
+					IEEE80211_SEND_MGMT(ni,
+					    IEEE80211_FC0_SUBTYPE_AUTH, 1);
+				}
 				break;
 			}
 			break;
@@ -1315,11 +1317,13 @@
 			    IEEE80211_FC0_SUBTYPE_ASSOC_REQ, 0);
 			break;
 		case IEEE80211_S_RUN:
-			/* NB: caller specifies ASSOC/REASSOC with arg */
-			IEEE80211_SEND_MGMT(ni, arg ?
-			    IEEE80211_FC0_SUBTYPE_REASSOC_REQ :
-			    IEEE80211_FC0_SUBTYPE_ASSOC_REQ, 0);
 			ieee80211_sta_leave(ni);
+			if (ic->ic_roaming == IEEE80211_ROAMING_AUTO) {
+				/* NB: caller specifies ASSOC/REASSOC by arg */
+				IEEE80211_SEND_MGMT(ni, arg ?
+				    IEEE80211_FC0_SUBTYPE_REASSOC_REQ :
+				    IEEE80211_FC0_SUBTYPE_ASSOC_REQ, 0);
+			}
 			break;
 		}
 		break;


More information about the p4-projects mailing list