Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Dec 2004 03:09:03 GMT
From:      Sam Leffler <sam@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 67015 for review
Message-ID:  <200412140309.iBE393ah001459@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=67015

Change 67015 by sam@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200412140309.iBE393ah001459>