iwlwifi: fix resart flow after fw error
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Thu, 12 Jun 2008 01:47:04 +0000 (09:47 +0800)
committerJohn W. Linville <linville@tuxdriver.com>
Sat, 14 Jun 2008 16:18:07 +0000 (12:18 -0400)
Clear STATUS_FW_ERROR in the _up_ flow before reseting NIC.
UP flow will otherwise call restart again causing endless restart loop.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl4965-base.c

index 7a9567c634c0a7f50783ac1fca5f3b7b80455806..3f54decb310b84f5782519a62bf0e52616fb34ba 100644 (file)
@@ -2857,9 +2857,6 @@ static void iwl_alive_start(struct iwl_priv *priv)
        /* After the ALIVE response, we can send host commands to 4965 uCode */
        set_bit(STATUS_ALIVE, &priv->status);
 
-       /* Clear out the uCode error bit if it is set */
-       clear_bit(STATUS_FW_ERROR, &priv->status);
-
        if (iwl_is_rfkill(priv))
                return;
 
@@ -3099,6 +3096,9 @@ static int __iwl4965_up(struct iwl_priv *priv)
                        continue;
                }
 
+               /* Clear out the uCode error bit if it is set */
+               clear_bit(STATUS_FW_ERROR, &priv->status);
+
                /* start card; "initialize" will load runtime ucode */
                iwl4965_nic_start(priv);