aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/mlme.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r--net/mac80211/mlme.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index c9db9646025b..8e4a60497bba 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -954,7 +954,7 @@ ieee80211_authenticate(struct ieee80211_sub_if_data *sdata,
954 sdata->dev->name, wk->bss->cbss.bssid, wk->tries); 954 sdata->dev->name, wk->bss->cbss.bssid, wk->tries);
955 955
956 ieee80211_send_auth(sdata, 1, wk->auth_alg, wk->ie, wk->ie_len, 956 ieee80211_send_auth(sdata, 1, wk->auth_alg, wk->ie, wk->ie_len,
957 wk->bss->cbss.bssid, 0); 957 wk->bss->cbss.bssid, NULL, 0, 0);
958 wk->auth_transaction = 2; 958 wk->auth_transaction = 2;
959 959
960 wk->timeout = jiffies + IEEE80211_AUTH_TIMEOUT; 960 wk->timeout = jiffies + IEEE80211_AUTH_TIMEOUT;
@@ -1176,7 +1176,8 @@ static void ieee80211_auth_challenge(struct ieee80211_sub_if_data *sdata,
1176 return; 1176 return;
1177 ieee80211_send_auth(sdata, 3, wk->auth_alg, 1177 ieee80211_send_auth(sdata, 3, wk->auth_alg,
1178 elems.challenge - 2, elems.challenge_len + 2, 1178 elems.challenge - 2, elems.challenge_len + 2,
1179 wk->bss->cbss.bssid, 1); 1179 wk->bss->cbss.bssid,
1180 wk->key, wk->key_len, wk->key_idx);
1180 wk->auth_transaction = 4; 1181 wk->auth_transaction = 4;
1181} 1182}
1182 1183
@@ -2175,6 +2176,12 @@ int ieee80211_mgd_auth(struct ieee80211_sub_if_data *sdata,
2175 wk->ie_len = req->ie_len; 2176 wk->ie_len = req->ie_len;
2176 } 2177 }
2177 2178
2179 if (req->key && req->key_len) {
2180 wk->key_len = req->key_len;
2181 wk->key_idx = req->key_idx;
2182 memcpy(wk->key, req->key, req->key_len);
2183 }
2184
2178 ssid = ieee80211_bss_get_ie(req->bss, WLAN_EID_SSID); 2185 ssid = ieee80211_bss_get_ie(req->bss, WLAN_EID_SSID);
2179 memcpy(wk->ssid, ssid + 2, ssid[1]); 2186 memcpy(wk->ssid, ssid + 2, ssid[1]);
2180 wk->ssid_len = ssid[1]; 2187 wk->ssid_len = ssid[1];