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> --- .../staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c index 0868f56e2979..574fdb6adce7 100644 --- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c +++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c @@ -2282,18 +2282,18 @@ static int rtw_cfg80211_add_monitor_if(struct adapter *padapter, char *name, str if (!name) { ret = -EINVAL; - goto out; + goto err_out; } if (pwdev_priv->pmon_ndev) { ret = -EBUSY; - goto out; + goto err_out; } mon_ndev = alloc_etherdev(sizeof(struct rtw_netdev_priv_indicator)); if (!mon_ndev) { ret = -ENOMEM; - goto out; + goto err_out; } mon_ndev->type = ARPHRD_IEEE80211_RADIOTAP; @@ -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,22 +2322,23 @@ 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); -out: - if (ret && mon_wdev) { - kfree(mon_wdev); - mon_wdev = NULL; - } +err_register: - if (ret && mon_ndev) { - free_netdev(mon_ndev); - *ndev = mon_ndev = NULL; - } + kfree(mon_wdev); + mon_wdev = NULL; + +err_zmalloc: + + free_netdev(mon_ndev); + *ndev = mon_ndev = NULL; + +err_out: return ret; } -- 2.32.0