|
@@ -3332,18 +3332,15 @@ int iwl_mvm_remove_sta_key(struct iwl_mvm *mvm,
|
|
|
|
|
|
/* Get the station from the mvm local station table */
|
|
|
mvm_sta = iwl_mvm_get_key_sta(mvm, vif, sta);
|
|
|
- if (!mvm_sta) {
|
|
|
- IWL_ERR(mvm, "Failed to find station\n");
|
|
|
- return -EINVAL;
|
|
|
- }
|
|
|
- sta_id = mvm_sta->sta_id;
|
|
|
+ if (mvm_sta)
|
|
|
+ sta_id = mvm_sta->sta_id;
|
|
|
|
|
|
IWL_DEBUG_WEP(mvm, "mvm remove dynamic key: idx=%d sta=%d\n",
|
|
|
keyconf->keyidx, sta_id);
|
|
|
|
|
|
- if (keyconf->cipher == WLAN_CIPHER_SUITE_AES_CMAC ||
|
|
|
- keyconf->cipher == WLAN_CIPHER_SUITE_BIP_GMAC_128 ||
|
|
|
- keyconf->cipher == WLAN_CIPHER_SUITE_BIP_GMAC_256)
|
|
|
+ if (mvm_sta && (keyconf->cipher == WLAN_CIPHER_SUITE_AES_CMAC ||
|
|
|
+ keyconf->cipher == WLAN_CIPHER_SUITE_BIP_GMAC_128 ||
|
|
|
+ keyconf->cipher == WLAN_CIPHER_SUITE_BIP_GMAC_256))
|
|
|
return iwl_mvm_send_sta_igtk(mvm, keyconf, sta_id, true);
|
|
|
|
|
|
if (!__test_and_clear_bit(keyconf->hw_key_idx, mvm->fw_key_table)) {
|