mirror of
https://github.com/torvalds/linux.git
synced 2026-06-08 22:52:35 +02:00
mac80211: fix supported rates IE if AP doesn't give us it's rates
commit 76f2736401 upstream.
If AP do not provide us supported rates before assiociation, send
all rates we are supporting instead of empty information element.
v1 -> v2: Add comment.
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
4abe1cbd9c
commit
fe2dba54e0
|
|
@ -269,12 +269,6 @@ static void ieee80211_send_assoc(struct ieee80211_sub_if_data *sdata,
|
|||
if (wk->bss->wmm_used)
|
||||
wmm = 1;
|
||||
|
||||
/* get all rates supported by the device and the AP as
|
||||
* some APs don't like getting a superset of their rates
|
||||
* in the association request (e.g. D-Link DAP 1353 in
|
||||
* b-only mode) */
|
||||
rates_len = ieee80211_compatible_rates(wk->bss, sband, &rates);
|
||||
|
||||
if ((wk->bss->cbss.capability & WLAN_CAPABILITY_SPECTRUM_MGMT) &&
|
||||
(local->hw.flags & IEEE80211_HW_SPECTRUM_MGMT))
|
||||
capab |= WLAN_CAPABILITY_SPECTRUM_MGMT;
|
||||
|
|
@ -309,6 +303,17 @@ static void ieee80211_send_assoc(struct ieee80211_sub_if_data *sdata,
|
|||
*pos++ = wk->ssid_len;
|
||||
memcpy(pos, wk->ssid, wk->ssid_len);
|
||||
|
||||
if (wk->bss->supp_rates_len) {
|
||||
/* get all rates supported by the device and the AP as
|
||||
* some APs don't like getting a superset of their rates
|
||||
* in the association request (e.g. D-Link DAP 1353 in
|
||||
* b-only mode) */
|
||||
rates_len = ieee80211_compatible_rates(wk->bss, sband, &rates);
|
||||
} else {
|
||||
rates = ~0;
|
||||
rates_len = sband->n_bitrates;
|
||||
}
|
||||
|
||||
/* add all rates which were marked to be used above */
|
||||
supp_rates_len = rates_len;
|
||||
if (supp_rates_len > 8)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user