PERFORCE change 68761 for review

Sam Leffler sam at FreeBSD.org
Tue Jan 11 12:45:21 PST 2005


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

Change 68761 by sam at sam_ebb on 2005/01/11 20:45:04

	move fixed rate check to ieee80211_match_bss so we that we know
	the rate is ok by the time we go to do a join; this eliminates
	the need to possibility of an error when joining an ibss network

Affected files ...

.. //depot/projects/wifi/sys/net80211/ieee80211_node.c#37 edit

Differences ...

==== //depot/projects/wifi/sys/net80211/ieee80211_node.c#37 (text+ko) ====

@@ -479,7 +479,8 @@
 		if (ni->ni_capinfo & IEEE80211_CAPINFO_PRIVACY)
 			fail |= 0x04;
 	}
-	rate = ieee80211_fix_rate(ic, ni, IEEE80211_F_DONEGO);
+	rate = ieee80211_fix_rate(ic, ni,
+			IEEE80211_F_DONEGO | IEEE80211_F_DOFRATE);
 	if (rate & IEEE80211_RATE_BASIC)
 		fail |= 0x08;
 	if (ic->ic_des_esslen != 0 &&
@@ -749,15 +750,10 @@
 
 	if (ic->ic_opmode == IEEE80211_M_IBSS) {
 		/*
-		 * Check rate set before committing to this node.
+		 * Delete unusable rates; we've already checked
+		 * that the negotiated rate set is acceptable.
 		 */
-		ieee80211_fix_rate(ic, selbs, IEEE80211_F_DOFRATE |
-		    IEEE80211_F_DONEGO | IEEE80211_F_DODEL);
-		if (selbs->ni_rates.rs_nrates == 0) {
-			selbs->ni_fails++;
-			ic->ic_stats.is_ibss_norate++;
-			return 0;
-		}
+		ieee80211_fix_rate(ic, selbs, IEEE80211_F_DODEL);
 		/*
 		 * Create the neighbor table; it will already
 		 * exist if we are simply switching mastership.


More information about the p4-projects mailing list