|
@@ -566,6 +566,8 @@ int iwl_remove_default_wep_key(struct iwl_priv *priv,
|
|
|
unsigned long flags;
|
|
|
|
|
|
spin_lock_irqsave(&priv->sta_lock, flags);
|
|
|
+ IWL_DEBUG_WEP(priv, "Removing default WEP key: idx=%d\n",
|
|
|
+ keyconf->keyidx);
|
|
|
|
|
|
if (!test_and_clear_bit(keyconf->keyidx, &priv->ucode_key_table))
|
|
|
IWL_ERR(priv, "index %d not used in uCode key table.\n",
|
|
@@ -573,6 +575,11 @@ int iwl_remove_default_wep_key(struct iwl_priv *priv,
|
|
|
|
|
|
priv->default_wep_key--;
|
|
|
memset(&priv->wep_keys[keyconf->keyidx], 0, sizeof(priv->wep_keys[0]));
|
|
|
+ if (iwl_is_rfkill(priv)) {
|
|
|
+ IWL_DEBUG_WEP(priv, "Not sending REPLY_WEPKEY command due to RFKILL.\n");
|
|
|
+ spin_unlock_irqrestore(&priv->sta_lock, flags);
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
ret = iwl_send_static_wepkey_cmd(priv, 1);
|
|
|
IWL_DEBUG_WEP(priv, "Remove default WEP key: idx=%d ret=%d\n",
|
|
|
keyconf->keyidx, ret);
|
|
@@ -853,6 +860,11 @@ int iwl_remove_dynamic_key(struct iwl_priv *priv,
|
|
|
priv->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_KEY_MASK;
|
|
|
priv->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK;
|
|
|
|
|
|
+ if (iwl_is_rfkill(priv)) {
|
|
|
+ IWL_DEBUG_WEP(priv, "Not sending REPLY_ADD_STA command because RFKILL enabled. \n");
|
|
|
+ spin_unlock_irqrestore(&priv->sta_lock, flags);
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
ret = iwl_send_add_sta(priv, &priv->stations[sta_id].sta, CMD_ASYNC);
|
|
|
spin_unlock_irqrestore(&priv->sta_lock, flags);
|
|
|
return ret;
|