diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl3945-base.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c index 4465320f2735..16ecf03a1557 100644 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c | |||
@@ -3773,15 +3773,19 @@ static int iwl3945_mac_config(struct ieee80211_hw *hw, u32 changed) | |||
3773 | } | 3773 | } |
3774 | #endif | 3774 | #endif |
3775 | 3775 | ||
3776 | if (conf->radio_enabled && iwl_radio_kill_sw_enable_radio(priv)) { | 3776 | if (changed & IEEE80211_CONF_CHANGE_RADIO_ENABLED) { |
3777 | IWL_DEBUG_MAC80211(priv, "leave - RF-KILL - waiting for uCode\n"); | 3777 | if (conf->radio_enabled && |
3778 | goto out; | 3778 | iwl_radio_kill_sw_enable_radio(priv)) { |
3779 | } | 3779 | IWL_DEBUG_MAC80211(priv, "leave - RF-KILL - " |
3780 | "waiting for uCode\n"); | ||
3781 | goto out; | ||
3782 | } | ||
3780 | 3783 | ||
3781 | if (!conf->radio_enabled) { | 3784 | if (!conf->radio_enabled) { |
3782 | iwl_radio_kill_sw_disable_radio(priv); | 3785 | iwl_radio_kill_sw_disable_radio(priv); |
3783 | IWL_DEBUG_MAC80211(priv, "leave - radio disabled\n"); | 3786 | IWL_DEBUG_MAC80211(priv, "leave - radio disabled\n"); |
3784 | goto out; | 3787 | goto out; |
3788 | } | ||
3785 | } | 3789 | } |
3786 | 3790 | ||
3787 | if (iwl_is_rfkill(priv)) { | 3791 | if (iwl_is_rfkill(priv)) { |