rtlwifi: rtl8192de: Fix error exit from hw_init
authorLarry Finger <Larry.Finger@lwfinger.net>
Fri, 1 Jul 2011 13:56:11 +0000 (08:56 -0500)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 5 Jul 2011 19:26:55 +0000 (15:26 -0400)
In routine rtl92de_hw_init(), there are two places where a failure is
not handled correctly.

Reported-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rtlwifi/rtl8192de/hw.c

index 5c84131..5a65bea 100644 (file)
@@ -932,8 +932,8 @@ int rtl92de_hw_init(struct ieee80211_hw *hw)
                RT_TRACE(rtlpriv, COMP_ERR, DBG_WARNING,
                         ("Failed to download FW. Init HW "
                         "without FW..\n"));
-               err = 1;
                rtlhal->fw_ready = false;
+               return 1;
        } else {
                rtlhal->fw_ready = true;
        }
@@ -1044,6 +1044,11 @@ int rtl92de_hw_init(struct ieee80211_hw *hw)
                                if (((tmp_rega & BIT(11)) == BIT(11)))
                                        break;
                        }
+                       /* check that loop was successful. If not, exit now */
+                       if (i == 10000) {
+                               rtlpci->init_ready = false;
+                               return 1;
+                       }
                }
        }
        rtlpci->init_ready = true;