2022-02-09 18:35:48

by Vihas Makwana

[permalink] [raw]
Subject: [PATCH] staging: r8188eu: keep the success path and error path separate

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 <[email protected]>
---
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



2022-02-09 19:45:28

by Pavel Skripkin

[permalink] [raw]
Subject: Re: [PATCH] staging: r8188eu: keep the success path and error path separate

Hi Vihas,

On 2/9/22 20:48, Vihas Makwana wrote:
> -exit:
> + if (pnetdev)
> + rtw_free_netdev(pnetdev);
> + else if (padapter)
> + vfree(padapter);
> + padapter = NULL;
> +
> return padapter;
> }

Why just not `return NULL`?




With regards,
Pavel Skripkin