The following reply was made to PR kern/181100; it has been noted by GNATS.

From: (dfilter service)
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
   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
 --- 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
                        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));
 _______________________________________________ mailing list
 To unsubscribe, send any mail to ""
_______________________________________________ mailing list
To unsubscribe, send any mail to ""

Reply via email to