aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl4965-base.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl4965-base.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl4965-base.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c
index b3c18072348..af8394c4b2d 100644
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -4074,21 +4074,23 @@ static int iwl4965_mac_start(struct ieee80211_hw *hw)
4074 if (test_bit(STATUS_IN_SUSPEND, &priv->status)) 4074 if (test_bit(STATUS_IN_SUSPEND, &priv->status))
4075 return 0; 4075 return 0;
4076 4076
4077 /* Wait for START_ALIVE from ucode. Otherwise callbacks from 4077 /* Wait for START_ALIVE from Run Time ucode. Otherwise callbacks from
4078 * mac80211 will not be run successfully. */ 4078 * mac80211 will not be run successfully. */
4079 ret = wait_event_interruptible_timeout(priv->wait_command_queue, 4079 if (priv->ucode_type == UCODE_RT) {
4080 test_bit(STATUS_READY, &priv->status), 4080 ret = wait_event_interruptible_timeout(priv->wait_command_queue,
4081 UCODE_READY_TIMEOUT); 4081 test_bit(STATUS_READY, &priv->status),
4082 if (!ret) { 4082 UCODE_READY_TIMEOUT);
4083 if (!test_bit(STATUS_READY, &priv->status)) { 4083 if (!ret) {
4084 IWL_ERROR("Wait for START_ALIVE timeout after %dms.\n", 4084 if (!test_bit(STATUS_READY, &priv->status)) {
4085 jiffies_to_msecs(UCODE_READY_TIMEOUT)); 4085 IWL_ERROR("START_ALIVE timeout after %dms.\n",
4086 ret = -ETIMEDOUT; 4086 jiffies_to_msecs(UCODE_READY_TIMEOUT));
4087 goto out_release_irq; 4087 ret = -ETIMEDOUT;
4088 goto out_release_irq;
4089 }
4088 } 4090 }
4089 }
4090 4091
4091 priv->is_open = 1; 4092 priv->is_open = 1;
4093 }
4092 IWL_DEBUG_MAC80211("leave\n"); 4094 IWL_DEBUG_MAC80211("leave\n");
4093 return 0; 4095 return 0;
4094 4096