Keep the success path and error path separate in rtw_usb_if1_init() and drop the "status" variable. Also, remove do-nothing gotos. Signed-off-by: Vihas Makwana <makvihas@xxxxxxxxx> --- drivers/staging/r8188eu/os_dep/usb_intf.c | 29 ++++++++++------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/drivers/staging/r8188eu/os_dep/usb_intf.c b/drivers/staging/r8188eu/os_dep/usb_intf.c index 10c33e2ae..4ddf3a95a 100644 --- a/drivers/staging/r8188eu/os_dep/usb_intf.c +++ b/drivers/staging/r8188eu/os_dep/usb_intf.c @@ -336,13 +336,13 @@ static struct adapter *rtw_usb_if1_init(struct dvobj_priv *dvobj, { struct adapter *padapter = NULL; struct net_device *pnetdev = NULL; - int status = _FAIL; struct io_priv *piopriv; struct intf_hdl *pintf; padapter = vzalloc(sizeof(*padapter)); if (!padapter) - goto exit; + return NULL; + padapter->dvobj = dvobj; dvobj->if1 = padapter; @@ -421,25 +421,20 @@ static struct adapter *rtw_usb_if1_init(struct dvobj_priv *dvobj, , padapter->hw_init_completed ); - status = _SUCCESS; + return padapter; free_drv_sw: - if (status != _SUCCESS) { - rtw_cancel_all_timer(padapter); - rtw_free_drv_sw(padapter); - } + rtw_cancel_all_timer(padapter); + rtw_free_drv_sw(padapter); handle_dualmac: - if (status != _SUCCESS) - rtw_handle_dualmac(padapter, 0); + rtw_handle_dualmac(padapter, 0); free_adapter: - if (status != _SUCCESS) { - if (pnetdev) - rtw_free_netdev(pnetdev); - else if (padapter) - vfree(padapter); - padapter = NULL; - } -exit: + if (pnetdev) + rtw_free_netdev(pnetdev); + else if (padapter) + vfree(padapter); + padapter = NULL; + return padapter; } -- 2.30.2