All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/2] clean up error handling
@ 2026-03-26  9:36 Omer El Idrissi
  2026-03-26  9:36 ` [PATCH v4 1/2] staging: rtl8723bs: use direct returns in sdio_dvobj_init() Omer El Idrissi
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Omer El Idrissi @ 2026-03-26  9:36 UTC (permalink / raw)
  To: gregkh; +Cc: linux-staging, linux-kernel, Omer El Idrissi

This series lets sdio_init() propagate standard kernel error codes 
instead of returning _SUCCESS/_FAIL.  There are two callers for this
function.  rtw_resume_process_normal() already returns negative values 
but the caller doesn't check for errors so changing this doesn't
affect anything.  sdio_dvobj_init() returns NULL on
error so leave that as-is.

Signed-off-by: Omer El Idrissi <omer.e.idrissi@gmail.com>
---
v4:
- Squash commits 2, 3, and 4 into one commit

v3:
- Add one commit that lets sdio_dvobj_init() use more readable error
  handling
- Add v3 and v2 tags

v2:
- Add one commit that lets rtw_resume_process_normal cleanly check
  errors and return errno instead of using vendor-defined check

v1:
- Use direct returns in sdio_dvobj_init()
- Cleanup return in sdio_init()

Omer El Idrissi (2):
  staging: rtl8723bs: use direct returns in sdio_dvobj_init()
  staging: rtl8723bs: cleanup return in sdio_init()

 drivers/staging/rtl8723bs/os_dep/os_intfs.c  |  8 +++----
 drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 25 ++++++++------------
 2 files changed, 14 insertions(+), 19 deletions(-)

-- 
2.51.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v4 1/2] staging: rtl8723bs: use direct returns in sdio_dvobj_init()
  2026-03-26  9:36 [PATCH v4 0/2] clean up error handling Omer El Idrissi
@ 2026-03-26  9:36 ` Omer El Idrissi
  2026-03-26  9:36 ` [PATCH v4 2/2] staging: rtl8723bs: cleanup return in sdio_init() Omer El Idrissi
  2026-03-26  9:59 ` [PATCH v4 0/2] clean up error handling Dan Carpenter
  2 siblings, 0 replies; 4+ messages in thread
From: Omer El Idrissi @ 2026-03-26  9:36 UTC (permalink / raw)
  To: gregkh; +Cc: linux-staging, linux-kernel, Omer El Idrissi

Make sdio_dvobj_init() use direct returns

Signed-off-by: Omer El Idrissi <omer.e.idrissi@gmail.com>
---
 drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
index d664e254912c..358eac0837cf 100644
--- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
+++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
@@ -155,13 +155,12 @@ static void sdio_deinit(struct dvobj_priv *dvobj)
 }
 static struct dvobj_priv *sdio_dvobj_init(struct sdio_func *func)
 {
-	int status = _FAIL;
 	struct dvobj_priv *dvobj = NULL;
 	struct sdio_data *psdio;
 
 	dvobj = devobj_init();
 	if (!dvobj)
-		goto exit;
+		return NULL;
 
 	sdio_set_drvdata(func, dvobj);
 
@@ -172,18 +171,14 @@ static struct dvobj_priv *sdio_dvobj_init(struct sdio_func *func)
 		goto free_dvobj;
 
 	rtw_reset_continual_io_error(dvobj);
-	status = _SUCCESS;
 
-free_dvobj:
-	if (status != _SUCCESS && dvobj) {
-		sdio_set_drvdata(func, NULL);
+	return dvobj;
 
-		devobj_deinit(dvobj);
+free_dvobj:
+	sdio_set_drvdata(func, NULL);
+	devobj_deinit(dvobj);
 
-		dvobj = NULL;
-	}
-exit:
-	return dvobj;
+	return NULL;
 }
 
 static void sdio_dvobj_deinit(struct sdio_func *func)
-- 
2.51.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v4 2/2] staging: rtl8723bs: cleanup return in sdio_init()
  2026-03-26  9:36 [PATCH v4 0/2] clean up error handling Omer El Idrissi
  2026-03-26  9:36 ` [PATCH v4 1/2] staging: rtl8723bs: use direct returns in sdio_dvobj_init() Omer El Idrissi
@ 2026-03-26  9:36 ` Omer El Idrissi
  2026-03-26  9:59 ` [PATCH v4 0/2] clean up error handling Dan Carpenter
  2 siblings, 0 replies; 4+ messages in thread
From: Omer El Idrissi @ 2026-03-26  9:36 UTC (permalink / raw)
  To: gregkh; +Cc: linux-staging, linux-kernel, Omer El Idrissi

Make sdio_init() return errno from sdio_enable_func or
sdio_set_block_size instead of _SUCCESS/_FAIL vendor-defined
macros. Let rtw_resume_process_normal return errno returned by
sdio_init instead of -1. sdio_dvobj_init returns NULL on error
so leave that as is. Let sdio_dvobj_init use a slightly more
readable and conventional error check for sdio_init().

Signed-off-by: Omer El Idrissi <omer.e.idrissi@gmail.com>
---
 drivers/staging/rtl8723bs/os_dep/os_intfs.c  | 8 ++++----
 drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/rtl8723bs/os_dep/os_intfs.c b/drivers/staging/rtl8723bs/os_dep/os_intfs.c
index 7ba689f2dfc8..e943dcea1a21 100644
--- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c
+++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c
@@ -1135,10 +1135,10 @@ static int rtw_resume_process_normal(struct adapter *padapter)
 	pwrpriv = adapter_to_pwrctl(padapter);
 	pmlmepriv = &padapter->mlmepriv;
 	/*  interface init */
-	/* if (sdio_init(adapter_to_dvobj(padapter)) != _SUCCESS) */
-	if ((padapter->intf_init) && (padapter->intf_init(adapter_to_dvobj(padapter)) != _SUCCESS)) {
-		ret = -1;
-		goto exit;
+	if (padapter->intf_init) {
+		ret = padapter->intf_init(adapter_to_dvobj(padapter));
+		if (ret)
+			goto exit;
 	}
 	rtw_hal_disable_interrupt(padapter);
 	/* if (sdio_alloc_irq(adapter_to_dvobj(padapter)) != _SUCCESS) */
diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
index 358eac0837cf..d0feb28b7043 100644
--- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
+++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
@@ -131,9 +131,7 @@ static u32 sdio_init(struct dvobj_priv *dvobj)
 release:
 	sdio_release_host(func);
 
-	if (err)
-		return _FAIL;
-	return _SUCCESS;
+	return err;
 }
 
 static void sdio_deinit(struct dvobj_priv *dvobj)
@@ -157,6 +155,7 @@ static struct dvobj_priv *sdio_dvobj_init(struct sdio_func *func)
 {
 	struct dvobj_priv *dvobj = NULL;
 	struct sdio_data *psdio;
+	int ret;
 
 	dvobj = devobj_init();
 	if (!dvobj)
@@ -167,7 +166,8 @@ static struct dvobj_priv *sdio_dvobj_init(struct sdio_func *func)
 	psdio = &dvobj->intf_data;
 	psdio->func = func;
 
-	if (sdio_init(dvobj) != _SUCCESS)
+	ret = sdio_init(dvobj);
+	if (ret)
 		goto free_dvobj;
 
 	rtw_reset_continual_io_error(dvobj);
-- 
2.51.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v4 0/2] clean up error handling
  2026-03-26  9:36 [PATCH v4 0/2] clean up error handling Omer El Idrissi
  2026-03-26  9:36 ` [PATCH v4 1/2] staging: rtl8723bs: use direct returns in sdio_dvobj_init() Omer El Idrissi
  2026-03-26  9:36 ` [PATCH v4 2/2] staging: rtl8723bs: cleanup return in sdio_init() Omer El Idrissi
@ 2026-03-26  9:59 ` Dan Carpenter
  2 siblings, 0 replies; 4+ messages in thread
From: Dan Carpenter @ 2026-03-26  9:59 UTC (permalink / raw)
  To: Omer El Idrissi; +Cc: gregkh, linux-staging, linux-kernel

On Thu, Mar 26, 2026 at 10:36:05AM +0100, Omer El Idrissi wrote:
> This series lets sdio_init() propagate standard kernel error codes 
> instead of returning _SUCCESS/_FAIL.  There are two callers for this
> function.  rtw_resume_process_normal() already returns negative values 
> but the caller doesn't check for errors so changing this doesn't
> affect anything.  sdio_dvobj_init() returns NULL on
> error so leave that as-is.
> 
> Signed-off-by: Omer El Idrissi <omer.e.idrissi@gmail.com>
> ---

Great!  Thanks.

Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>

regards,
dan carpenter


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-03-26  9:59 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-26  9:36 [PATCH v4 0/2] clean up error handling Omer El Idrissi
2026-03-26  9:36 ` [PATCH v4 1/2] staging: rtl8723bs: use direct returns in sdio_dvobj_init() Omer El Idrissi
2026-03-26  9:36 ` [PATCH v4 2/2] staging: rtl8723bs: cleanup return in sdio_init() Omer El Idrissi
2026-03-26  9:59 ` [PATCH v4 0/2] clean up error handling Dan Carpenter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.