diff options
author | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2011-02-07 19:54:50 -0500 |
---|---|---|
committer | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2011-02-21 13:08:38 -0500 |
commit | 46d0637a128f2f555c1f7be02cd65c45b92b2a60 (patch) | |
tree | 4fc585bf2e6b0cc3d8a9f1215c16b6329e2e1105 | |
parent | 491bc292766330473eac4569be5d57f9aeb80112 (diff) |
iwlwifi: Loading correct uCode again when fail to load
During uCode loading, if the reply_alive come back with "failure",
try to load the same uCode again.
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c index abd0461bd307..c04d99124ca8 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c | |||
@@ -466,6 +466,15 @@ static void iwl_rx_reply_alive(struct iwl_priv *priv, | |||
466 | IWL_WARN(priv, "%s uCode did not respond OK.\n", | 466 | IWL_WARN(priv, "%s uCode did not respond OK.\n", |
467 | (palive->ver_subtype == INITIALIZE_SUBTYPE) ? | 467 | (palive->ver_subtype == INITIALIZE_SUBTYPE) ? |
468 | "init" : "runtime"); | 468 | "init" : "runtime"); |
469 | /* | ||
470 | * If fail to load init uCode, | ||
471 | * let's try to load the init uCode again. | ||
472 | * We should not get into this situation, but if it | ||
473 | * does happen, we should not move on and loading "runtime" | ||
474 | * without proper calibrate the device. | ||
475 | */ | ||
476 | if (palive->ver_subtype == INITIALIZE_SUBTYPE) | ||
477 | priv->ucode_type = UCODE_NONE; | ||
469 | queue_work(priv->workqueue, &priv->restart); | 478 | queue_work(priv->workqueue, &priv->restart); |
470 | } | 479 | } |
471 | } | 480 | } |