Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Aug 2013 10:00:01 GMT
From:      dfilter@FreeBSD.ORG (dfilter service)
To:        freebsd-wireless@FreeBSD.org
Subject:   Re: kern/181100: commit references a PR
Message-ID:  <201308131000.r7DA0135077996@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/181100; it has been noted by GNATS.

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/181100: commit references a PR
Date: Tue, 13 Aug 2013 09:58:35 +0000 (UTC)

 Author: adrian
 Date: Tue Aug 13 09:58:27 2013
 New Revision: 254279
 URL: http://svnweb.freebsd.org/changeset/base/254279
 
 Log:
   ieee80211_rate2plcp() and ieee80211_rate2phytype() are both pre-11n
   routines and thus assert if one passes in a rate code with the
   high bit set.
   
   Since the high bit can indicate either IEEE80211_RATE_BASIC or
   IEEE80211_RATE_MCS, it's up to the caller to determine whether
   the rate is 11n or not, and either mask out the BASIC bit, or
   call a different function.
   
   (Yes, this does mean that net80211 should grow 11n-aware rate2phytype()
   and rate2plcp() functions..)
   
   This may need to happen for the other drivers - it's currently only
   done (now) for iwn(4) and bwi(4).
   
   PR:		kern/181100
 
 Modified:
   head/sys/dev/bwi/bwimac.c
 
 Modified: head/sys/dev/bwi/bwimac.c
 ==============================================================================
 --- head/sys/dev/bwi/bwimac.c	Tue Aug 13 09:06:18 2013	(r254278)
 +++ head/sys/dev/bwi/bwimac.c	Tue Aug 13 09:58:27 2013	(r254279)
 @@ -1427,7 +1427,8 @@ bwi_mac_set_ackrates(struct bwi_mac *mac
  		enum ieee80211_phytype modtype;
  		uint16_t ofs;
  
 -		modtype = ieee80211_rate2phytype(rt, rs->rs_rates[i]);
 +		modtype = ieee80211_rate2phytype(rt,
 +		    rs->rs_rates[i] & IEEE80211_RATE_VAL);
  		switch (modtype) {
  		case IEEE80211_T_DS:
  			ofs = 0x4c0;
 @@ -1438,7 +1439,9 @@ bwi_mac_set_ackrates(struct bwi_mac *mac
  		default:
  			panic("unsupported modtype %u\n", modtype);
  		}
 -		ofs += 2*(ieee80211_rate2plcp(rs->rs_rates[i], modtype) & 0xf);
 +		ofs += 2*(ieee80211_rate2plcp(
 +		    rs->rs_rates[i] & IEEE80211_RATE_VAL,
 +		    modtype) & 0xf);
  
  		MOBJ_WRITE_2(mac, BWI_COMM_MOBJ, ofs + 0x20,
  			     MOBJ_READ_2(mac, BWI_COMM_MOBJ, ofs));
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 



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