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