diff options
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r-- | net/mac80211/mlme.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 0abd5a4fe38d..a03245255ed0 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c | |||
@@ -2872,15 +2872,18 @@ static void ieee80211_rx_mgmt_beacon(struct ieee80211_sub_if_data *sdata, | |||
2872 | memcmp(ifsta->bssid, mgmt->bssid, ETH_ALEN) != 0) | 2872 | memcmp(ifsta->bssid, mgmt->bssid, ETH_ALEN) != 0) |
2873 | return; | 2873 | return; |
2874 | 2874 | ||
2875 | ieee80211_sta_wmm_params(local, ifsta, elems.wmm_param, | ||
2876 | elems.wmm_param_len); | ||
2877 | |||
2878 | /* Do not send changes to driver if we are scanning. This removes | 2875 | /* Do not send changes to driver if we are scanning. This removes |
2879 | * requirement that driver's bss_info_changed function needs to be | 2876 | * requirement that a driver's bss_info_changed/conf_tx functions |
2880 | * atomic. */ | 2877 | * need to be atomic. |
2878 | * This is really ugly code, we should rewrite scanning and make | ||
2879 | * all this more understandable for humans. | ||
2880 | */ | ||
2881 | if (local->sta_sw_scanning || local->sta_hw_scanning) | 2881 | if (local->sta_sw_scanning || local->sta_hw_scanning) |
2882 | return; | 2882 | return; |
2883 | 2883 | ||
2884 | ieee80211_sta_wmm_params(local, ifsta, elems.wmm_param, | ||
2885 | elems.wmm_param_len); | ||
2886 | |||
2884 | if (elems.erp_info && elems.erp_info_len >= 1) | 2887 | if (elems.erp_info && elems.erp_info_len >= 1) |
2885 | changed |= ieee80211_handle_erp_ie(sdata, elems.erp_info[0]); | 2888 | changed |= ieee80211_handle_erp_ie(sdata, elems.erp_info[0]); |
2886 | else { | 2889 | else { |