Search Linux Wireless

Re: [PATCH 2/4] mac80211: Indicate basic rates when adding supported rates

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2012-03-30 at 10:57 -0700, Ashok Nagarajan wrote:
> Hello Johannes,
> 
> On Thu, Mar 29, 2012 at 11:49 PM, Johannes Berg
> <johannes@xxxxxxxxxxxxxxxx> wrote:
> > On Thu, 2012-03-29 at 16:28 -0700, Ashok Nagarajan wrote:
> >> and extended supported rates
> >>
> >> Signed-off-by: Ashok Nagarajan <ashok@xxxxxxxxxxx>
> >> Signed-off-by: Thomas Pedersen <thomas@xxxxxxxxxxx>
> >> ---
> >>  net/mac80211/util.c |   12 ++++++++++--
> >>  1 files changed, 10 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/net/mac80211/util.c b/net/mac80211/util.c
> >> index 32f7a3b..a1e2ff5 100644
> >> --- a/net/mac80211/util.c
> >> +++ b/net/mac80211/util.c
> >> @@ -1685,6 +1685,7 @@ int ieee80211_add_srates_ie(struct ieee80211_vif *vif, struct sk_buff *skb)
> >>       struct ieee80211_supported_band *sband;
> >>       int rate;
> >>       u8 i, rates, *pos;
> >> +     u32 basic_rates = vif->bss_conf.basic_rates;
> >>
> >>       sband = local->hw.wiphy->bands[local->hw.conf.channel->band];
> >>       rates = sband->n_bitrates;
> >> @@ -1698,8 +1699,11 @@ int ieee80211_add_srates_ie(struct ieee80211_vif *vif, struct sk_buff *skb)
> >>       *pos++ = WLAN_EID_SUPP_RATES;
> >>       *pos++ = rates;
> >>       for (i = 0; i < rates; i++) {
> >> +             u8 basic = 0;
> >> +             if (basic_rates & BIT(i))
> >> +                     basic = 0x80;
> >>               rate = sband->bitrates[i].bitrate;
> >> -             *pos++ = (u8) (rate / 5);
> >> +             *pos++ = basic | (u8) (rate / 5);
> >>       }
> >
> > I'm not sure you should do this unconditionally with the
> > vif->bss_conf.basic_rates, for example this code is also used with TDLS
> > and I have no idea what that should be there -- since we didn't add
> > anything before maybe it should indeed not have any basic rate bits?
> >
> > johannes
> >
> 
> Do you want us to add a check if the vif.type is mesh point or have an
> extra parameter indicating the need for basic rates? What approach
> would you suggest?

I'd probably say add an argument since you might want to actually set
the basic rate bits in some other cases too.

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux