diff options
| -rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-rfkill.c | 3 | ||||
| -rw-r--r-- | drivers/net/wireless/iwlwifi/iwl4965-base.c | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-rfkill.c b/drivers/net/wireless/iwlwifi/iwl-rfkill.c index 8f38c24491cd..5980a5621cb8 100644 --- a/drivers/net/wireless/iwlwifi/iwl-rfkill.c +++ b/drivers/net/wireless/iwlwifi/iwl-rfkill.c | |||
| @@ -47,6 +47,9 @@ static int iwl_rfkill_soft_rf_kill(void *data, enum rfkill_state state) | |||
| 47 | if (!priv->rfkill_mngr.rfkill) | 47 | if (!priv->rfkill_mngr.rfkill) |
| 48 | return 0; | 48 | return 0; |
| 49 | 49 | ||
| 50 | if (test_bit(STATUS_EXIT_PENDING, &priv->status)) | ||
| 51 | return 0; | ||
| 52 | |||
| 50 | IWL_DEBUG_RF_KILL("we recieved soft RFKILL set to state %d\n", state); | 53 | IWL_DEBUG_RF_KILL("we recieved soft RFKILL set to state %d\n", state); |
| 51 | mutex_lock(&priv->mutex); | 54 | mutex_lock(&priv->mutex); |
| 52 | 55 | ||
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c index 0eb4220f035f..dae881e47293 100644 --- a/drivers/net/wireless/iwlwifi/iwl4965-base.c +++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c | |||
| @@ -2427,7 +2427,8 @@ void iwl4965_radio_kill_sw(struct iwl_priv *priv, int disable_radio) | |||
| 2427 | CSR_UCODE_SW_BIT_RFKILL); | 2427 | CSR_UCODE_SW_BIT_RFKILL); |
| 2428 | spin_unlock_irqrestore(&priv->lock, flags); | 2428 | spin_unlock_irqrestore(&priv->lock, flags); |
| 2429 | /* call the host command only if no hw rf-kill set */ | 2429 | /* call the host command only if no hw rf-kill set */ |
| 2430 | if (!test_bit(STATUS_RF_KILL_HW, &priv->status)) | 2430 | if (!test_bit(STATUS_RF_KILL_HW, &priv->status) && |
| 2431 | iwl_is_ready(priv)) | ||
| 2431 | iwl4965_send_card_state(priv, | 2432 | iwl4965_send_card_state(priv, |
| 2432 | CARD_STATE_CMD_DISABLE, | 2433 | CARD_STATE_CMD_DISABLE, |
| 2433 | 0); | 2434 | 0); |
