On Mon, 2012-04-02 at 12:37 +0200, Johannes Berg wrote:
> On Sat, 2012-03-31 at 13:32 -0700, Ashok Nagarajan wrote:
> 
> > @@ -1127,15 +1127,25 @@ u32 ieee80211_sta_get_rates(struct ieee80211_local 
> > *local,
> >                  elems->ext_supp_rates_len; i++) {
> >             u8 rate = 0;
> >             int own_rate;
> > +           bool is_basic;
> >             if (i < elems->supp_rates_len)
> >                     rate = elems->supp_rates[i];
> >             else if (elems->ext_supp_rates)
> >                     rate = elems->ext_supp_rates
> >                             [i - elems->supp_rates_len];
> >             own_rate = 5 * (rate & 0x7f);
> > -           for (j = 0; j < num_rates; j++)
> > -                   if (bitrates[j].bitrate == own_rate)
> > +           is_basic = !!(rate & 0x80);
> > +
> > +           if (is_basic && (rate & 0x7f) == BSS_MEMBERSHIP_SELECTOR_HT_PHY)
> > +                   continue;
> > +
> > +           for (j = 0; j < num_rates; j++) {
> > +                   if (bitrates[j].bitrate == own_rate) {
> >                             supp_rates |= BIT(j);
> > +                           if (basic_rates && is_basic)
> > +                                   *basic_rates |= BIT(j);
> > +                   }
> > +           }
> 
> Seems it'd be worth skipping the entire logic if basic_rates is NULL?

Oh, never mind, got confused.

johannes

_______________________________________________
Devel mailing list
[email protected]
http://lists.open80211s.org/cgi-bin/mailman/listinfo/devel

Reply via email to