In routines rtw_hostapd_ioctl() and wpa_supplicant_ioctl(), several
error conditions involve setting a variable indicating the error,
followed by a goto. The code following the target of that goto merely
returns the value. It is simpler, therefore to return the error value
immediately, and eliminate the got  target.

Signed-off-by: Larry Finger <larry.fin...@lwfinger.net>
Cc: Pietro Oliva <pietrol...@gmail.com>
---
 .../staging/rtl8723bs/os_dep/ioctl_linux.c    | 47 +++++--------------
 1 file changed, 12 insertions(+), 35 deletions(-)

diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_linux.c 
b/drivers/staging/rtl8723bs/os_dep/ioctl_linux.c
index 2ac0d84f090e..9b9038e7deb1 100644
--- a/drivers/staging/rtl8723bs/os_dep/ioctl_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/ioctl_linux.c
@@ -3373,21 +3373,16 @@ static int wpa_supplicant_ioctl(struct net_device *dev, 
struct iw_point *p)
 
        /* down(&ieee->wx_sem); */
 
-       if (!p->pointer || p->length != sizeof(struct ieee_param)) {
-               ret = -EINVAL;
-               goto out;
-       }
+       if (!p->pointer || p->length != sizeof(struct ieee_param))
+               return -EINVAL;
 
        param = rtw_malloc(p->length);
-       if (param == NULL) {
-               ret = -ENOMEM;
-               goto out;
-       }
+       if (param == NULL)
+               return -ENOMEM;
 
        if (copy_from_user(param, p->pointer, p->length)) {
                kfree(param);
-               ret = -EFAULT;
-               goto out;
+               return -EFAULT;
        }
 
        switch (param->cmd) {
@@ -3421,12 +3416,8 @@ static int wpa_supplicant_ioctl(struct net_device *dev, 
struct iw_point *p)
 
        kfree(param);
 
-out:
-
        /* up(&ieee->wx_sem); */
-
        return ret;
-
 }
 
 static int rtw_set_encryption(struct net_device *dev, struct ieee_param 
*param, u32 param_len)
@@ -4200,28 +4191,19 @@ static int rtw_hostapd_ioctl(struct net_device *dev, 
struct iw_point *p)
        * so, we just check hw_init_completed
        */
 
-       if (!padapter->hw_init_completed) {
-               ret = -EPERM;
-               goto out;
-       }
-
+       if (!padapter->hw_init_completed)
+               return -EPERM;
 
-       /* if (p->length < sizeof(struct ieee_param) || !p->pointer) { */
-       if (!p->pointer || p->length != sizeof(*param)) {
-               ret = -EINVAL;
-               goto out;
-       }
+       if (!p->pointer || p->length != sizeof(*param))
+               return -EINVAL;
 
        param = rtw_malloc(p->length);
-       if (param == NULL) {
-               ret = -ENOMEM;
-               goto out;
-       }
+       if (param == NULL)
+               return -ENOMEM;
 
        if (copy_from_user(param, p->pointer, p->length)) {
                kfree(param);
-               ret = -EFAULT;
-               goto out;
+               return -EFAULT;
        }
 
        /* DBG_871X("%s, cmd =%d\n", __func__, param->cmd); */
@@ -4321,13 +4303,8 @@ static int rtw_hostapd_ioctl(struct net_device *dev, 
struct iw_point *p)
        if (ret == 0 && copy_to_user(p->pointer, param, p->length))
                ret = -EFAULT;
 
-
        kfree(param);
-
-out:
-
        return ret;
-
 }
 
 static int rtw_wx_set_priv(struct net_device *dev,
-- 
2.25.0

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

Reply via email to