From owner-p4-projects@FreeBSD.ORG Tue Nov 23 22:45:14 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1855216A4D1; Tue, 23 Nov 2004 22:45:14 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D308216A4CF for ; Tue, 23 Nov 2004 22:45:13 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C17B543D1D for ; Tue, 23 Nov 2004 22:45:13 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id iANMjDBM078106 for ; Tue, 23 Nov 2004 22:45:13 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id iANMjDkR078103 for perforce@freebsd.org; Tue, 23 Nov 2004 22:45:13 GMT (envelope-from sam@freebsd.org) Date: Tue, 23 Nov 2004 22:45:13 GMT Message-Id: <200411232245.iANMjDkR078103@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 65735 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Nov 2004 22:45:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=65735 Change 65735 by sam@sam_ebb on 2004/11/23 22:44:16 correct station-mode wme parameter updates received from management frames Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_input.c#17 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_input.c#17 (text+ko) ==== @@ -1557,15 +1557,14 @@ return 0; } qosinfo = frm[__offsetof(struct ieee80211_wme_param, param_qosInfo)]; - if ((qosinfo & WME_QOSINFO_COUNT) < wme->wme_wmeChanParams.cap_info) { - IEEE80211_DPRINTF(ic, IEEE80211_MSG_ELEMID | IEEE80211_MSG_WME, - "%s: count mismatch, qosinfo 0x%x expected 0x%x\n", - __func__, qosinfo, wme->wme_wmeChanParams.cap_info); + qosinfo &= WME_QOSINFO_COUNT; + /* XXX do proper check for wraparound */ + if (qosinfo == wme->wme_wmeChanParams.cap_info) return 0; - } frm += __offsetof(struct ieee80211_wme_param, params_acParams); for (i = 0; i < WME_NUM_AC; i++) { - struct wmeParams *wmep = &wme->wme_chanParams.cap_wmeParams[i]; + struct wmeParams *wmep = + &wme->wme_wmeChanParams.cap_wmeParams[i]; /* NB: ACI not used */ wmep->wmep_acm = MS(frm[0], WME_PARAM_ACM); wmep->wmep_aifsn = MS(frm[0], WME_PARAM_AIFSN); @@ -1574,6 +1573,7 @@ wmep->wmep_txopLimit = LE_READ_2(frm+2); frm += 4; } + wme->wme_wmeChanParams.cap_info = qosinfo; return 1; #undef MS }