PERFORCE change 67015 for review

Sam Leffler sam at FreeBSD.org
Mon Dec 13 19:09:04 PST 2004


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

Change 67015 by sam at sam_ebb on 2004/12/14 03:09:02

	correct wme negotiation in station mode:
	o change ieee80211_parse_wmeparams to return <0 for an error,
	  0 for no change in the current parameters, and >0 for when
	  parameters have been updated and need to be pushed to the
	  driver
	o mark the node for QoS use if the wme params ie has no
	  error (was only doing this if the negotiated parmateres
	  required a push to the driver)

Affected files ...

.. //depot/projects/wifi/sys/net80211/ieee80211_input.c#30 edit

Differences ...

==== //depot/projects/wifi/sys/net80211/ieee80211_input.c#30 (text+ko) ====

@@ -1587,7 +1587,7 @@
 		IEEE80211_DISCARD_IE(ic,
 		    IEEE80211_MSG_ELEMID | IEEE80211_MSG_WME,
 		    wh, "WME", "too short, len %u", len);
-		return 0;
+		return -1;
 	}
 	qosinfo = frm[__offsetof(struct ieee80211_wme_param, param_qosInfo)];
 	qosinfo &= WME_QOSINFO_COUNT;
@@ -1866,7 +1866,7 @@
 				/* XXX statistic */
 			}
 			if (wme != NULL &&
-			    ieee80211_parse_wmeparams(ic, wme, wh))
+			    ieee80211_parse_wmeparams(ic, wme, wh) > 0)
 				ieee80211_wme_updateparams(ic);
 			/* NB: don't need the rest of this */
 			return;
@@ -2354,7 +2354,8 @@
 
 		ni->ni_capinfo = capinfo;
 		ni->ni_associd = associd;
-		if (wme != NULL && ieee80211_parse_wmeparams(ic, wme, wh)) {
+		if (wme != NULL &&
+		    ieee80211_parse_wmeparams(ic, wme, wh) >= 0) {
 			ni->ni_flags |= IEEE80211_NODE_QOS;
 			ieee80211_wme_updateparams(ic);
 		} else


More information about the p4-projects mailing list