2010-09-20 14:15:22

by Mohammed Shafi Shajakhan

[permalink] [raw]
Subject: [RFC] mac80211 : Fix for setting of mandatory rate flags

From: Mohammed Shafi Shajakhan <[email protected]>

The mandatory rate flags for 'g' mode was not set.Because of
this the basic rates for 'g' mode will not be advertised.

Signed-off-by: Mohammed Shafi Shajakhan <[email protected]>
---
net/mac80211/util.c | 3 ++-
net/wireless/nl80211.c | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index bd40b11..c1f7ce3 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -851,7 +851,8 @@ u32 ieee80211_mandatory_rates(struct ieee80211_local *local,
}

if (band == IEEE80211_BAND_2GHZ)
- mandatory_flag = IEEE80211_RATE_MANDATORY_B;
+ mandatory_flag = IEE80211_RATE_MANDATORY_B |
+ IEEE80211_RATE_MANDATORY_G ;
else
mandatory_flag = IEEE80211_RATE_MANDATORY_A;

diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 1d6ef24..835742c 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -4115,7 +4115,8 @@ static int nl80211_join_ibss(struct sk_buff *skb, struct genl_info *info)
int j;
u32 flag = ibss.channel->band == IEEE80211_BAND_5GHZ ?
IEEE80211_RATE_MANDATORY_A :
- IEEE80211_RATE_MANDATORY_B;
+ IEEE80211_RATE_MANDATORY_B |
+ IEEE80211_RATE_MANDATORY_G ;

for (j = 0; j < sband->n_bitrates; j++) {
if (sband->bitrates[j].flags & flag)
--
1.7.0.4



2010-09-20 14:22:19

by Johannes Berg

[permalink] [raw]
Subject: Re: [RFC] mac80211 : Fix for setting of mandatory rate flags

On Mon, 2010-09-20 at 19:45 +0530, Mohammed Shafi Shajakhan wrote:
> From: Mohammed Shafi Shajakhan <[email protected]>
>
> The mandatory rate flags for 'g' mode was not set.Because of
> this the basic rates for 'g' mode will not be advertised.

NACK. We've already discussed this to death before, just do it properly
with decent API for it etc.

johannes