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 d1962650b254..cf8d72196c65 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c | |||
@@ -698,10 +698,11 @@ void ieee80211_dynamic_ps_timer(unsigned long data) | |||
698 | 698 | ||
699 | /* MLME */ | 699 | /* MLME */ |
700 | static void ieee80211_sta_wmm_params(struct ieee80211_local *local, | 700 | static void ieee80211_sta_wmm_params(struct ieee80211_local *local, |
701 | struct ieee80211_if_managed *ifmgd, | 701 | struct ieee80211_sub_if_data *sdata, |
702 | u8 *wmm_param, size_t wmm_param_len) | 702 | u8 *wmm_param, size_t wmm_param_len) |
703 | { | 703 | { |
704 | struct ieee80211_tx_queue_params params; | 704 | struct ieee80211_tx_queue_params params; |
705 | struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; | ||
705 | size_t left; | 706 | size_t left; |
706 | int count; | 707 | int count; |
707 | u8 *pos, uapsd_queues = 0; | 708 | u8 *pos, uapsd_queues = 0; |
@@ -790,8 +791,8 @@ static void ieee80211_sta_wmm_params(struct ieee80211_local *local, | |||
790 | } | 791 | } |
791 | 792 | ||
792 | /* enable WMM or activate new settings */ | 793 | /* enable WMM or activate new settings */ |
793 | local->hw.conf.flags |= IEEE80211_CONF_QOS; | 794 | sdata->vif.bss_conf.qos = true; |
794 | drv_config(local, IEEE80211_CONF_CHANGE_QOS); | 795 | ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_QOS); |
795 | } | 796 | } |
796 | 797 | ||
797 | static u32 ieee80211_handle_bss_capability(struct ieee80211_sub_if_data *sdata, | 798 | static u32 ieee80211_handle_bss_capability(struct ieee80211_sub_if_data *sdata, |
@@ -1325,7 +1326,7 @@ static bool ieee80211_assoc_success(struct ieee80211_work *wk, | |||
1325 | } | 1326 | } |
1326 | 1327 | ||
1327 | if (elems.wmm_param) | 1328 | if (elems.wmm_param) |
1328 | ieee80211_sta_wmm_params(local, ifmgd, elems.wmm_param, | 1329 | ieee80211_sta_wmm_params(local, sdata, elems.wmm_param, |
1329 | elems.wmm_param_len); | 1330 | elems.wmm_param_len); |
1330 | else | 1331 | else |
1331 | ieee80211_set_wmm_default(sdata); | 1332 | ieee80211_set_wmm_default(sdata); |
@@ -1597,7 +1598,7 @@ static void ieee80211_rx_mgmt_beacon(struct ieee80211_sub_if_data *sdata, | |||
1597 | ieee80211_rx_bss_info(sdata, mgmt, len, rx_status, &elems, | 1598 | ieee80211_rx_bss_info(sdata, mgmt, len, rx_status, &elems, |
1598 | true); | 1599 | true); |
1599 | 1600 | ||
1600 | ieee80211_sta_wmm_params(local, ifmgd, elems.wmm_param, | 1601 | ieee80211_sta_wmm_params(local, sdata, elems.wmm_param, |
1601 | elems.wmm_param_len); | 1602 | elems.wmm_param_len); |
1602 | } | 1603 | } |
1603 | 1604 | ||
@@ -2030,6 +2031,8 @@ int ieee80211_mgd_auth(struct ieee80211_sub_if_data *sdata, | |||
2030 | auth_alg = WLAN_AUTH_OPEN; | 2031 | auth_alg = WLAN_AUTH_OPEN; |
2031 | break; | 2032 | break; |
2032 | case NL80211_AUTHTYPE_SHARED_KEY: | 2033 | case NL80211_AUTHTYPE_SHARED_KEY: |
2034 | if (IS_ERR(sdata->local->wep_tx_tfm)) | ||
2035 | return -EOPNOTSUPP; | ||
2033 | auth_alg = WLAN_AUTH_SHARED_KEY; | 2036 | auth_alg = WLAN_AUTH_SHARED_KEY; |
2034 | break; | 2037 | break; |
2035 | case NL80211_AUTHTYPE_FT: | 2038 | case NL80211_AUTHTYPE_FT: |