staging: r8188eu: handle rtl8188eu_inirp_init errors
authorMartin Kaiser <martin@kaiser.cx>
Mon, 6 Feb 2023 20:17:59 +0000 (21:17 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 7 Feb 2023 07:41:03 +0000 (08:41 +0100)
The rtl8188eu_inirp_init returns 0 for success or a negative error code.
Handle this return value in the two places where rtl8188eu_inirp_init is
called.

Suggested-by: Pavel Skripkin <paskripkin@gmail.com>
Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Tested-by: Philipp Hortmann <philipp.g.hortmann@gmail.com> # Edimax N150
Link: https://lore.kernel.org/r/20230206201800.139195-6-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/os_dep/os_intfs.c

index e48dbdf..bd3c17f 100644 (file)
@@ -631,7 +631,8 @@ static int _netdev_open(struct net_device *pnetdev)
                        pr_info("can't init mlme_ext_priv\n");
                        goto netdev_open_error;
                }
-               rtl8188eu_inirp_init(padapter);
+               if (rtl8188eu_inirp_init(padapter))
+                       goto netdev_open_error;
 
                rtw_led_control(padapter, LED_CTL_NO_LINK);
 
@@ -683,7 +684,8 @@ static int  ips_netdrv_open(struct adapter *padapter)
        if (status == _FAIL)
                goto netdev_open_error;
 
-       rtl8188eu_inirp_init(padapter);
+       if (rtl8188eu_inirp_init(padapter))
+               goto netdev_open_error;
 
        rtw_set_pwr_state_check_timer(&padapter->pwrctrlpriv);
        _set_timer(&padapter->mlmepriv.dynamic_chk_timer, 5000);