Commit 34a880d8 authored by Liad Kaufman's avatar Liad Kaufman Committed by Luca Coelho
Browse files

iwlwifi: mvm: remove sta key on wep ap



If WEP is used, no one removes the STA key upon STA
removal, leading to a situation where after 16
connect/disconnects - the AP could no longer decrypt
incoming data frames since iwl_mvm_set_fw_key_idx()
called from iwl_mvm_set_sta_key() during association
returns STA_KEY_IDX_INVALID, thus not setting the key
for that connecting STA.

Fix this by removing the key in the driver when the
STA is removed.

Signed-off-by: default avatarLiad Kaufman <liad.kaufman@intel.com>
Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
parent 9adcc117
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -3091,6 +3091,16 @@ static int iwl_mvm_mac_sta_state(struct ieee80211_hw *hw,
			iwl_mvm_tdls_check_trigger(mvm, vif, sta->addr,
						   NL80211_TDLS_DISABLE_LINK);
		}

		/* Remove STA key if this is an AP using WEP */
		if (vif->type == NL80211_IFTYPE_AP && mvmvif->ap_wep_key) {
			int rm_ret = iwl_mvm_remove_sta_key(mvm, vif, sta,
							    mvmvif->ap_wep_key);

			if (!ret)
				ret = rm_ret;
		}

	} else {
		ret = -EIO;
	}