|
@@ -841,7 +841,12 @@ mwifiex_cfg80211_assoc(struct mwifiex_private *priv, size_t ssid_len, u8 *ssid,
|
|
|
ret = mwifiex_set_rf_channel(priv, channel,
|
|
|
priv->adapter->channel_type);
|
|
|
|
|
|
- ret = mwifiex_set_encode(priv, NULL, 0, 0, 1); /* Disable keys */
|
|
|
+ /* As this is new association, clear locally stored
|
|
|
+ * keys and security related flags */
|
|
|
+ priv->sec_info.wpa_enabled = false;
|
|
|
+ priv->sec_info.wpa2_enabled = false;
|
|
|
+ priv->wep_key_curr_index = 0;
|
|
|
+ ret = mwifiex_set_encode(priv, NULL, 0, 0, 1);
|
|
|
|
|
|
if (mode == NL80211_IFTYPE_ADHOC) {
|
|
|
/* "privacy" is set only for ad-hoc mode */
|
|
@@ -886,6 +891,7 @@ mwifiex_cfg80211_assoc(struct mwifiex_private *priv, size_t ssid_len, u8 *ssid,
|
|
|
dev_dbg(priv->adapter->dev,
|
|
|
"info: setting wep encryption"
|
|
|
" with key len %d\n", sme->key_len);
|
|
|
+ priv->wep_key_curr_index = sme->key_idx;
|
|
|
ret = mwifiex_set_encode(priv, sme->key, sme->key_len,
|
|
|
sme->key_idx, 0);
|
|
|
}
|