From: Zhu Yi Date: Thu, 12 Jun 2008 01:47:17 +0000 (+0800) Subject: iwlwifi: fix software rf_kill problem when interface is down X-Git-Tag: v2.6.27-rc1~964^2~325^2~26 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=808e72a088d164cf0030f593d9a5fc23306fb6b6;p=platform%2Fkernel%2Flinux-stable.git iwlwifi: fix software rf_kill problem when interface is down The patch fixes the problem that software rf_kill messes up the card status when it is disabled if the interface is down. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville --- diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c index 72279e0..d0084bc 100644 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c @@ -2875,7 +2875,8 @@ static void iwl3945_radio_kill_sw(struct iwl3945_priv *priv, int disable_radio) return; } - queue_work(priv->workqueue, &priv->restart); + if (priv->is_open) + queue_work(priv->workqueue, &priv->restart); return; } diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c index 8f1ab23..5aec7d5 100644 --- a/drivers/net/wireless/iwlwifi/iwl4965-base.c +++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c @@ -970,7 +970,8 @@ int iwl4965_radio_kill_sw(struct iwl_priv *priv, int disable_radio) return 0; } - queue_work(priv->workqueue, &priv->restart); + if (priv->is_open) + queue_work(priv->workqueue, &priv->restart); return 1; }