Skip to content

Commit

Permalink
mac80211: fix basic rates setting from association response
Browse files Browse the repository at this point in the history
In previous code all the rates were marked as basic.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Tomas Winkler authored and John W. Linville committed Nov 10, 2008
1 parent ab1ef98 commit d61272c
Showing 1 changed file with 12 additions and 6 deletions.
18 changes: 12 additions & 6 deletions net/mac80211/mlme.c
Original file line number Diff line number Diff line change
Expand Up @@ -1291,29 +1291,35 @@ static void ieee80211_rx_mgmt_assoc_resp(struct ieee80211_sub_if_data *sdata,

for (i = 0; i < elems.supp_rates_len; i++) {
int rate = (elems.supp_rates[i] & 0x7f) * 5;
bool is_basic = !!(elems.supp_rates[i] & 0x80);

if (rate > 110)
have_higher_than_11mbit = true;

for (j = 0; j < sband->n_bitrates; j++) {
if (sband->bitrates[j].bitrate == rate)
if (sband->bitrates[j].bitrate == rate) {
rates |= BIT(j);
if (elems.supp_rates[i] & 0x80)
basic_rates |= BIT(j);
if (is_basic)
basic_rates |= BIT(j);
break;
}
}
}

for (i = 0; i < elems.ext_supp_rates_len; i++) {
int rate = (elems.ext_supp_rates[i] & 0x7f) * 5;
bool is_basic = !!(elems.supp_rates[i] & 0x80);

if (rate > 110)
have_higher_than_11mbit = true;

for (j = 0; j < sband->n_bitrates; j++) {
if (sband->bitrates[j].bitrate == rate)
if (sband->bitrates[j].bitrate == rate) {
rates |= BIT(j);
if (elems.ext_supp_rates[i] & 0x80)
basic_rates |= BIT(j);
if (is_basic)
basic_rates |= BIT(j);
break;
}
}
}

Expand Down

0 comments on commit d61272c

Please sign in to comment.