* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox