Re: [PATCH v2] staging: rtl8723bs: os_dep: simplify the return statement.

From: Greg KH
Date: Sun Oct 10 2021 - 08:59:49 EST


On Sun, Oct 10, 2021 at 10:36:05AM +0530, Saurav Girepunje wrote:
> Remove the unneeded and redundant check of variable on goto out.
> Simplify the return using multiple goto label to avoid
> unneeded check.
>
> Signed-off-by: Saurav Girepunje <saurav.girepunje@xxxxxxxxx>
> ---
>
> ChangeLog V2:
> -Add goto out after the memcpy for no error case return with
> ret only. Free is not required on no error case.
>
> ChangeLog V1:
> -Remove the unneeded and redundant check of variable on
> goto out.
> -Simplify the return using multiple goto label to avoid
> unneeded check.
>
> .../staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 22 +++++++++----------
> 1 file changed, 10 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
> index 0868f56e2979..ae9579dc0848 100644
> --- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
> +++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
> @@ -2312,7 +2312,7 @@ static int rtw_cfg80211_add_monitor_if(struct adapter *padapter, char *name, str
> mon_wdev = rtw_zmalloc(sizeof(struct wireless_dev));
> if (!mon_wdev) {
> ret = -ENOMEM;
> - goto out;
> + goto err_zmalloc;
> }
>
> mon_wdev->wiphy = padapter->rtw_wdev->wiphy;
> @@ -2322,23 +2322,21 @@ static int rtw_cfg80211_add_monitor_if(struct adapter *padapter, char *name, str
>
> ret = cfg80211_register_netdevice(mon_ndev);
> if (ret) {
> - goto out;
> + goto err_register;
> }
>
> *ndev = pwdev_priv->pmon_ndev = mon_ndev;
> memcpy(pwdev_priv->ifname_mon, name, IFNAMSIZ+1);
> + goto out;
>
> -out:
> - if (ret && mon_wdev) {
> - kfree(mon_wdev);
> - mon_wdev = NULL;
> - }
> -
> - if (ret && mon_ndev) {
> - free_netdev(mon_ndev);
> - *ndev = mon_ndev = NULL;
> - }
> +err_register:
> + kfree(mon_wdev);
> + mon_wdev = NULL;

There is no need to set a local variable like this to NULL.

thanks,

greg k-h