2021-04-18 17:35:22

by Saurav Girepunje

[permalink] [raw]
Subject: [PATCH] staging: rtl8723bs: os_dep: remove multiple return

on sdio_intf.c rtw_sdio_suspend call we have multiple
return which can replace by goto exit. As in all the places
return value is 0.

Signed-off-by: Saurav Girepunje <[email protected]>
---
drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
index a9a9631dd23c..3e566cf97f6e 100644
--- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
+++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
@@ -445,14 +445,17 @@ static int rtw_sdio_suspend(struct device *dev)
struct debug_priv *pdbgpriv = &psdpriv->drv_dbg;

if (padapter->bDriverStopped)
- return 0;
+ goto exit;

if (pwrpriv->bInSuspend) {
pdbgpriv->dbg_suspend_error_cnt++;
- return 0;
+ goto exit;
}

- return rtw_suspend_common(padapter);
+ rtw_suspend_common(padapter);
+exit:
+
+ return 0;
}

static int rtw_resume_process(struct adapter *padapter)
--
2.25.1


2021-04-20 11:05:41

by Dan Carpenter

[permalink] [raw]
Subject: Re: [PATCH] staging: rtl8723bs: os_dep: remove multiple return

On Sun, Apr 18, 2021 at 11:02:33PM +0530, Saurav Girepunje wrote:
> on sdio_intf.c rtw_sdio_suspend call we have multiple
> return which can replace by goto exit. As in all the places
> return value is 0.
>

Why?

Do nothing gotos just make the code harder to read and introduce forgot
to set the error code bugs.

regards,
dan carpenter

2021-04-20 11:27:51

by Dan Carpenter

[permalink] [raw]
Subject: Re: [PATCH] staging: rtl8723bs: os_dep: remove multiple return

On Sun, Apr 18, 2021 at 11:02:33PM +0530, Saurav Girepunje wrote:
> on sdio_intf.c rtw_sdio_suspend call we have multiple
> return which can replace by goto exit. As in all the places
> return value is 0.
>
> Signed-off-by: Saurav Girepunje <[email protected]>
> ---
> drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
> index a9a9631dd23c..3e566cf97f6e 100644
> --- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
> +++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
> @@ -445,14 +445,17 @@ static int rtw_sdio_suspend(struct device *dev)
> struct debug_priv *pdbgpriv = &psdpriv->drv_dbg;
>
> if (padapter->bDriverStopped)
> - return 0;
> + goto exit;
>
> if (pwrpriv->bInSuspend) {
> pdbgpriv->dbg_suspend_error_cnt++;
> - return 0;
> + goto exit;
> }
>
> - return rtw_suspend_common(padapter);
> + rtw_suspend_common(padapter);

Also it's weird that your previous patch made rtw_suspend_common()
return zero unconditionally. But now we're modifying the only caller to
not check the return. Just make rtw_suspend_common() void and change
this to:

rtw_suspend_common(padapter);

return 0;

regards,
dan carpenter

2021-04-27 19:46:38

by Saurav Girepunje

[permalink] [raw]
Subject: Re: [PATCH] staging: rtl8723bs: os_dep: remove multiple return

On Tue, Apr 20, 2021 at 02:06:09PM +0300, Dan Carpenter wrote:
> On Sun, Apr 18, 2021 at 11:02:33PM +0530, Saurav Girepunje wrote:
> > on sdio_intf.c rtw_sdio_suspend call we have multiple
> > return which can replace by goto exit. As in all the places
> > return value is 0.
> >
> > Signed-off-by: Saurav Girepunje <[email protected]>
> > ---
> > drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 9 ++++++---
> > 1 file changed, 6 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
> > index a9a9631dd23c..3e566cf97f6e 100644
> > --- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
> > +++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
> > @@ -445,14 +445,17 @@ static int rtw_sdio_suspend(struct device *dev)
> > struct debug_priv *pdbgpriv = &psdpriv->drv_dbg;
> >
> > if (padapter->bDriverStopped)
> > - return 0;
> > + goto exit;
> >
> > if (pwrpriv->bInSuspend) {
> > pdbgpriv->dbg_suspend_error_cnt++;
> > - return 0;
> > + goto exit;
> > }
> >
> > - return rtw_suspend_common(padapter);
> > + rtw_suspend_common(padapter);
>
> Also it's weird that your previous patch made rtw_suspend_common()
> return zero unconditionally. But now we're modifying the only caller to
> not check the return. Just make rtw_suspend_common() void and change
> this to:
>
> rtw_suspend_common(padapter);
>
> return 0;
>
> regards,
> dan carpenter
>

Sure, rtw_suspend_common always return 0. It should be void.
I will merge and resend the patch.