Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
This commit is contained in:
@ -1487,6 +1487,7 @@ static bool ieee80211_assoc_success(struct ieee80211_work *wk,
|
||||
int i, j, err;
|
||||
bool have_higher_than_11mbit = false;
|
||||
u16 ap_ht_cap_flags;
|
||||
int min_rate = INT_MAX, min_rate_index = -1;
|
||||
|
||||
/* AssocResp and ReassocResp have identical structure */
|
||||
|
||||
@ -1553,6 +1554,10 @@ static bool ieee80211_assoc_success(struct ieee80211_work *wk,
|
||||
rates |= BIT(j);
|
||||
if (is_basic)
|
||||
basic_rates |= BIT(j);
|
||||
if (rate < min_rate) {
|
||||
min_rate = rate;
|
||||
min_rate_index = j;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1570,11 +1575,25 @@ static bool ieee80211_assoc_success(struct ieee80211_work *wk,
|
||||
rates |= BIT(j);
|
||||
if (is_basic)
|
||||
basic_rates |= BIT(j);
|
||||
if (rate < min_rate) {
|
||||
min_rate = rate;
|
||||
min_rate_index = j;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* some buggy APs don't advertise basic_rates. use the lowest
|
||||
* supported rate instead.
|
||||
*/
|
||||
if (unlikely(!basic_rates) && min_rate_index >= 0) {
|
||||
printk(KERN_DEBUG "%s: No basic rates in AssocResp. "
|
||||
"Using min supported rate instead.\n", sdata->name);
|
||||
basic_rates = BIT(min_rate_index);
|
||||
}
|
||||
|
||||
sta->sta.supp_rates[wk->chan->band] = rates;
|
||||
sdata->vif.bss_conf.basic_rates = basic_rates;
|
||||
|
||||
|
Reference in New Issue
Block a user