PERFORCE change 135840 for review

Sam Leffler sam at FreeBSD.org
Wed Feb 20 22:10:54 UTC 2008


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

Change 135840 by sam at sam_ebb on 2008/02/20 22:10:33

	can't recurse on the node table lock; need to think about
	whether this is needed on freebsd

Affected files ...

.. //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#30 edit

Differences ...

==== //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#30 (text+ko) ====

@@ -1207,14 +1207,12 @@
 			mlmeop.reason = reason;
 			/* NB: the broadcast address means do 'em all */
 			if (!IEEE80211_ADDR_EQ(mac, ic->ic_ifp->if_broadcastaddr)) {
-				IEEE80211_NODE_LOCK(&ic->ic_sta);
 				ni = ieee80211_find_node(&ic->ic_sta, mac);
 				if (ni != NULL) {
 					domlme(&mlmeop, ni);
 					ieee80211_free_node(ni);
 				} else
 					error = ENOENT;
-				IEEE80211_NODE_UNLOCK(&ic->ic_sta);
 			} else {
 				ieee80211_iterate_nodes(&ic->ic_sta,
 						domlme, &mlmeop);
@@ -1250,7 +1248,6 @@
 			error = EINVAL;
 			break;
 		}
-		IEEE80211_NODE_LOCK(&ic->ic_sta);
 		ni = ieee80211_find_vap_node(&ic->ic_sta, vap, mac);
 		if (ni != NULL) {
 			IEEE80211_NOTE(vap,
@@ -1264,14 +1261,12 @@
 			ieee80211_free_node(ni);
 		} else
 			error = ENOENT;
-		IEEE80211_NODE_UNLOCK(&ic->ic_sta);
 		break;
 	case IEEE80211_MLME_AUTH:
 		if (vap->iv_opmode != IEEE80211_M_HOSTAP) {
 			error = EINVAL;
 			break;
 		}
-		IEEE80211_NODE_LOCK(&ic->ic_sta);
 		ni = ieee80211_find_vap_node(&ic->ic_sta, vap, mac);
 		if (ni != NULL) {
 			if (reason == IEEE80211_STATUS_SUCCESS) {
@@ -1303,7 +1298,6 @@
 			ieee80211_free_node(ni);
 		} else
 			error = ENOENT;
-		IEEE80211_NODE_UNLOCK(&ic->ic_sta);
 		break;
 	default:
 		error = EINVAL;


More information about the p4-projects mailing list