summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReinette Chatre2008-04-04 01:05:23 +0200
committerJohn W. Linville2008-04-08 22:44:42 +0200
commitfe00b5a5b7e29180e427e58b3d0a185d1dd3f105 (patch)
treec5399dbf16d9b5f8ae1c63974d5a7fa6ab10f8e7
parentiwlwifi: use ieee80211_frequency_to_channel (diff)
downloadkernel-qcow2-linux-fe00b5a5b7e29180e427e58b3d0a185d1dd3f105.tar.gz
kernel-qcow2-linux-fe00b5a5b7e29180e427e58b3d0a185d1dd3f105.tar.xz
kernel-qcow2-linux-fe00b5a5b7e29180e427e58b3d0a185d1dd3f105.zip
iwlwifi: ensure led registration complete as part of initialization
After the workqueue is notified the LED code may be accessed. Ensure that LED registration completes completely as part of initialization before anything waiting on this is notified. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/iwlwifi/iwl3945-base.c4
-rw-r--r--drivers/net/wireless/iwlwifi/iwl4965-base.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index 51480a4920e8..d4daa04465a3 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -5874,12 +5874,12 @@ static void iwl3945_alive_start(struct iwl3945_priv *priv)
iwl3945_reg_txpower_periodic(priv);
+ iwl3945_led_register(priv);
+
IWL_DEBUG_INFO("ALIVE processing complete.\n");
set_bit(STATUS_READY, &priv->status);
wake_up_interruptible(&priv->wait_command_queue);
- iwl3945_led_register(priv);
-
if (priv->error_recovering)
iwl3945_error_recovery(priv);
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c
index 5dfc414792c1..4517e4ce3a25 100644
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -5701,12 +5701,12 @@ static void iwl4965_alive_start(struct iwl_priv *priv)
iwl4965_rf_kill_ct_config(priv);
+ iwl_leds_register(priv);
+
IWL_DEBUG_INFO("ALIVE processing complete.\n");
set_bit(STATUS_READY, &priv->status);
wake_up_interruptible(&priv->wait_command_queue);
- iwl_leds_register(priv);
-
if (priv->error_recovering)
iwl4965_error_recovery(priv);