[PATCH v2] staging: rtl8723bs: change error handling to use standard errno
From: Omer El Idrissi
Date: Sat Mar 21 2026 - 16:18:48 EST
Replace non-standard return values with descriptive linux kernel error
codes in probe path.
Also replace the variable name 'status' with 'ret' to be more
consistent with other kernel code.
Signed-off-by: Omer El Idrissi <omer.e.idrissi@xxxxxxxxx>
---
v2:
- Return -ENODEV instead of -ENOMEM when sdio_dvobj_init fails
drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 30 ++++++++++++--------
1 file changed, 18 insertions(+), 12 deletions(-)
diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
index d664e254912c..47189c849b05 100644
--- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
+++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
@@ -345,38 +345,44 @@ static int rtw_drv_init(
struct sdio_func *func,
const struct sdio_device_id *id)
{
- int status = _FAIL;
+ int ret;
struct adapter *if1 = NULL;
struct dvobj_priv *dvobj;
dvobj = sdio_dvobj_init(func);
- if (!dvobj)
+ if (!dvobj) {
+ ret = -ENODEV;
goto exit;
+ }
if1 = rtw_sdio_if1_init(dvobj, id);
- if (!if1)
+ if (!if1) {
+ ret = -ENOMEM;
goto free_dvobj;
+ }
/* dev_alloc_name && register_netdev */
- status = rtw_drv_register_netdev(if1);
- if (status != _SUCCESS)
+ ret = rtw_drv_register_netdev(if1);
+ if (ret) {
+ ret = -EIO;
goto free_if1;
+ }
- status = sdio_alloc_irq(dvobj);
- if (status != _SUCCESS)
+ ret = sdio_alloc_irq(dvobj);
+ if (ret) {
+ ret = -EIO;
goto free_if1;
-
- status = _SUCCESS;
+ }
free_if1:
- if (status != _SUCCESS && if1)
+ if (ret && if1)
rtw_sdio_if1_deinit(if1);
free_dvobj:
- if (status != _SUCCESS)
+ if (ret)
sdio_dvobj_deinit(func);
exit:
- return status == _SUCCESS ? 0 : -ENODEV;
+ return ret;
}
static void rtw_dev_remove(struct sdio_func *func)
--
2.51.0