The call of rtl8192_read_eeprom_info may fail, therefore its return value must
be checked and propagated in the case of error.

Signed-off-by: Salah Triki <salah.tr...@acm.org>
---
 drivers/staging/rtl8192u/r8192U_core.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/rtl8192u/r8192U_core.c 
b/drivers/staging/rtl8192u/r8192U_core.c
index e7168da..1535980 100644
--- a/drivers/staging/rtl8192u/r8192U_core.c
+++ b/drivers/staging/rtl8192u/r8192U_core.c
@@ -2743,6 +2743,7 @@ static short rtl8192_init(struct net_device *dev)
        struct r8192_priv *priv = ieee80211_priv(dev);
        memset(&(priv->stats), 0, sizeof(struct Stats));
        memset(priv->txqueue_to_outpipemap, 0, 9);
+       int err;
 #ifdef PIPE12
        {
                int i = 0;
@@ -2761,7 +2762,9 @@ static short rtl8192_init(struct net_device *dev)
        rtl8192_init_priv_lock(priv);
        rtl8192_init_priv_task(dev);
        rtl8192_get_eeprom_size(dev);
-       rtl8192_read_eeprom_info(dev);
+       err = rtl8192_read_eeprom_info(dev);
+       if (err)
+               return err;
        rtl8192_get_channel_map(dev);
        init_hal_dm(dev);
        setup_timer(&priv->watch_dog_timer, watch_dog_timer_callback,
-- 
1.9.1

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to