aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl4965-base.c
diff options
context:
space:
mode:
authorRon Rindjunsky <ron.rindjunsky@intel.com>2008-05-29 04:35:06 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-06-03 15:00:23 -0400
commitfe9b6b720bd11c598417529755ac850a85070560 (patch)
tree4b87cb64ce53800c7182929088ef92b9c689f78c /drivers/net/wireless/iwlwifi/iwl4965-base.c
parent7c616cba240cd0d579c996be3f3603456acfb0ad (diff)
iwlwifi: activate status ready timeout only for run time ucode
This patch makes driver state timeout checks on ucode alive response only if run time ucode have been loaded. Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
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 b3c180723489..af8394c4b2df 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