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? Thanks Ashok -- 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