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