From: Wey-Yi Guy Date: Tue, 8 Feb 2011 00:54:50 +0000 (-0800) Subject: iwlwifi: Loading correct uCode again when fail to load X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=46d0637a128f2f555c1f7be02cd65c45b92b2a60;p=openwrt%2Fstaging%2Fblogic.git 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 --- 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, IWL_WARN(priv, "%s uCode did not respond OK.\n", (palive->ver_subtype == INITIALIZE_SUBTYPE) ? "init" : "runtime"); + /* + * If fail to load init uCode, + * let's try to load the init uCode again. + * We should not get into this situation, but if it + * does happen, we should not move on and loading "runtime" + * without proper calibrate the device. + */ + if (palive->ver_subtype == INITIALIZE_SUBTYPE) + priv->ucode_type = UCODE_NONE; queue_work(priv->workqueue, &priv->restart); } }