2011-07-01 13:56:13

by Larry Finger

[permalink] [raw]
Subject: [PATCH] rtlwifi: rtl8192de: Fix error exit from hw_init

In routine rtl92de_hw_init(), there are two places where a failure is
not handled correctly.

Reported-by: Dan Carpenter <[email protected]>
Signed-off-by: Larry Finger <[email protected]>
---


Index: wireless-testing-new/drivers/net/wireless/rtlwifi/rtl8192de/hw.c
===================================================================
--- wireless-testing-new.orig/drivers/net/wireless/rtlwifi/rtl8192de/hw.c
+++ wireless-testing-new/drivers/net/wireless/rtlwifi/rtl8192de/hw.c
@@ -931,8 +931,8 @@ int rtl92de_hw_init(struct ieee80211_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;
}
@@ -1043,6 +1043,11 @@ int rtl92de_hw_init(struct ieee80211_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;