* [PATCH v5 1/6] staging: rtl8723bs: simplify _rtw_init_xmit_priv control flow
2026-04-08 11:13 [PATCH v5 0/6] staging: rtl8723bs: convert xmit init path to errno Hungyu Lin
@ 2026-04-08 11:13 ` Hungyu Lin
2026-04-08 11:13 ` [PATCH v5 2/6] staging: rtl8723bs: make rtw_alloc_hwxmits static Hungyu Lin
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Hungyu Lin @ 2026-04-08 11:13 UTC (permalink / raw)
To: gregkh; +Cc: dan.carpenter, ethantidmore, linux-staging, linux-kernel,
Hungyu Lin
Replace goto-based error handling in _rtw_init_xmit_priv()
with direct returns to simplify the control flow.
No functional changes intended.
Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
---
drivers/staging/rtl8723bs/core/rtw_xmit.c | 39 ++++++++---------------
1 file changed, 14 insertions(+), 25 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c
index 7bce0343d59f..f64ec8e271ed 100644
--- a/drivers/staging/rtl8723bs/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c
@@ -38,7 +38,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
int i;
struct xmit_buf *pxmitbuf;
struct xmit_frame *pxframe;
- signed int res = _SUCCESS;
+ int res;
spin_lock_init(&pxmitpriv->lock);
spin_lock_init(&pxmitpriv->lock_sctx);
@@ -75,8 +75,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
if (!pxmitpriv->pallocated_frame_buf) {
pxmitpriv->pxmit_frame_buf = NULL;
- res = _FAIL;
- goto exit;
+ return _FAIL;
}
pxmitpriv->pxmit_frame_buf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitpriv->pallocated_frame_buf), 4);
@@ -111,10 +110,8 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
pxmitpriv->pallocated_xmitbuf = vzalloc(NR_XMITBUFF * sizeof(struct xmit_buf) + 4);
- if (!pxmitpriv->pallocated_xmitbuf) {
- res = _FAIL;
- goto exit;
- }
+ if (!pxmitpriv->pallocated_xmitbuf)
+ return _FAIL;
pxmitpriv->pxmitbuf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitpriv->pallocated_xmitbuf), 4);
@@ -133,7 +130,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
fsleep(10 * USEC_PER_MSEC);
res = rtw_os_xmit_resource_alloc(padapter, pxmitbuf, (MAX_XMITBUF_SZ + XMITBUF_ALIGN_SZ), true);
if (res == _FAIL)
- goto exit;
+ return _FAIL;
}
pxmitbuf->phead = pxmitbuf->pbuf;
@@ -162,8 +159,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
if (!pxmitpriv->xframe_ext_alloc_addr) {
pxmitpriv->xframe_ext = NULL;
- res = _FAIL;
- goto exit;
+ return _FAIL;
}
pxmitpriv->xframe_ext = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitpriv->xframe_ext_alloc_addr), 4);
pxframe = (struct xmit_frame *)pxmitpriv->xframe_ext;
@@ -194,10 +190,8 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
pxmitpriv->pallocated_xmit_extbuf = vzalloc(NR_XMIT_EXTBUFF * sizeof(struct xmit_buf) + 4);
- if (!pxmitpriv->pallocated_xmit_extbuf) {
- res = _FAIL;
- goto exit;
- }
+ if (!pxmitpriv->pallocated_xmit_extbuf)
+ return _FAIL;
pxmitpriv->pxmit_extbuf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitpriv->pallocated_xmit_extbuf), 4);
@@ -211,10 +205,8 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
pxmitbuf->buf_tag = XMITBUF_MGNT;
res = rtw_os_xmit_resource_alloc(padapter, pxmitbuf, MAX_XMIT_EXTBUF_SZ + XMITBUF_ALIGN_SZ, true);
- if (res == _FAIL) {
- res = _FAIL;
- goto exit;
- }
+ if (res == _FAIL)
+ return _FAIL;
pxmitbuf->phead = pxmitbuf->pbuf;
pxmitbuf->pend = pxmitbuf->pbuf + MAX_XMIT_EXTBUF_SZ;
@@ -243,10 +235,8 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
res = rtw_os_xmit_resource_alloc(padapter, pxmitbuf,
MAX_CMDBUF_SZ + XMITBUF_ALIGN_SZ,
true);
- if (res == _FAIL) {
- res = _FAIL;
- goto exit;
- }
+ if (res == _FAIL)
+ return _FAIL;
pxmitbuf->phead = pxmitbuf->pbuf;
pxmitbuf->pend = pxmitbuf->pbuf + MAX_CMDBUF_SZ;
@@ -258,7 +248,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
res = rtw_alloc_hwxmits(padapter);
if (res == _FAIL)
- goto exit;
+ return _FAIL;
rtw_init_hwxmits(pxmitpriv->hwxmits, pxmitpriv->hwxmit_entry);
for (i = 0; i < 4; i++)
@@ -270,8 +260,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
rtw_hal_init_xmit_priv(padapter);
-exit:
- return res;
+ return _SUCCESS;
}
void _rtw_free_xmit_priv(struct xmit_priv *pxmitpriv)
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v5 2/6] staging: rtl8723bs: make rtw_alloc_hwxmits static
2026-04-08 11:13 [PATCH v5 0/6] staging: rtl8723bs: convert xmit init path to errno Hungyu Lin
2026-04-08 11:13 ` [PATCH v5 1/6] staging: rtl8723bs: simplify _rtw_init_xmit_priv control flow Hungyu Lin
@ 2026-04-08 11:13 ` Hungyu Lin
2026-04-08 11:13 ` [PATCH v5 3/6] staging: rtl8723bs: convert rtw_alloc_hwxmits to return errno Hungyu Lin
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Hungyu Lin @ 2026-04-08 11:13 UTC (permalink / raw)
To: gregkh; +Cc: dan.carpenter, ethantidmore, linux-staging, linux-kernel,
Hungyu Lin
The rtw_alloc_hwxmits() function is only used within this file.
Make it static to limit its scope.
Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
---
drivers/staging/rtl8723bs/core/rtw_xmit.c | 80 ++++++++++----------
drivers/staging/rtl8723bs/include/rtw_xmit.h | 1 -
2 files changed, 40 insertions(+), 41 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c
index f64ec8e271ed..b86c9c2f3b93 100644
--- a/drivers/staging/rtl8723bs/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c
@@ -33,6 +33,46 @@ void _rtw_init_sta_xmit_priv(struct sta_xmit_priv *psta_xmitpriv)
INIT_LIST_HEAD(&psta_xmitpriv->apsd);
}
+static s32 rtw_alloc_hwxmits(struct adapter *padapter)
+{
+ struct hw_xmit *hwxmits;
+ struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
+
+ pxmitpriv->hwxmit_entry = HWXMIT_ENTRY;
+
+ pxmitpriv->hwxmits = NULL;
+
+ pxmitpriv->hwxmits = kzalloc_objs(*hwxmits, pxmitpriv->hwxmit_entry,
+ GFP_ATOMIC);
+ if (!pxmitpriv->hwxmits)
+ return _FAIL;
+
+ hwxmits = pxmitpriv->hwxmits;
+
+ if (pxmitpriv->hwxmit_entry == 5) {
+ hwxmits[0] .sta_queue = &pxmitpriv->bm_pending;
+
+ hwxmits[1] .sta_queue = &pxmitpriv->vo_pending;
+
+ hwxmits[2] .sta_queue = &pxmitpriv->vi_pending;
+
+ hwxmits[3] .sta_queue = &pxmitpriv->bk_pending;
+
+ hwxmits[4] .sta_queue = &pxmitpriv->be_pending;
+ } else if (pxmitpriv->hwxmit_entry == 4) {
+ hwxmits[0] .sta_queue = &pxmitpriv->vo_pending;
+
+ hwxmits[1] .sta_queue = &pxmitpriv->vi_pending;
+
+ hwxmits[2] .sta_queue = &pxmitpriv->be_pending;
+
+ hwxmits[3] .sta_queue = &pxmitpriv->bk_pending;
+ } else {
+ }
+
+ return _SUCCESS;
+}
+
s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
{
int i;
@@ -1852,46 +1892,6 @@ s32 rtw_xmit_classifier(struct adapter *padapter, struct xmit_frame *pxmitframe)
return res;
}
-s32 rtw_alloc_hwxmits(struct adapter *padapter)
-{
- struct hw_xmit *hwxmits;
- struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
-
- pxmitpriv->hwxmit_entry = HWXMIT_ENTRY;
-
- pxmitpriv->hwxmits = NULL;
-
- pxmitpriv->hwxmits = kzalloc_objs(*hwxmits, pxmitpriv->hwxmit_entry,
- GFP_ATOMIC);
- if (!pxmitpriv->hwxmits)
- return _FAIL;
-
- hwxmits = pxmitpriv->hwxmits;
-
- if (pxmitpriv->hwxmit_entry == 5) {
- hwxmits[0] .sta_queue = &pxmitpriv->bm_pending;
-
- hwxmits[1] .sta_queue = &pxmitpriv->vo_pending;
-
- hwxmits[2] .sta_queue = &pxmitpriv->vi_pending;
-
- hwxmits[3] .sta_queue = &pxmitpriv->bk_pending;
-
- hwxmits[4] .sta_queue = &pxmitpriv->be_pending;
- } else if (pxmitpriv->hwxmit_entry == 4) {
- hwxmits[0] .sta_queue = &pxmitpriv->vo_pending;
-
- hwxmits[1] .sta_queue = &pxmitpriv->vi_pending;
-
- hwxmits[2] .sta_queue = &pxmitpriv->be_pending;
-
- hwxmits[3] .sta_queue = &pxmitpriv->bk_pending;
- } else {
- }
-
- return _SUCCESS;
-}
-
void rtw_free_hwxmits(struct adapter *padapter)
{
struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
diff --git a/drivers/staging/rtl8723bs/include/rtw_xmit.h b/drivers/staging/rtl8723bs/include/rtw_xmit.h
index 544468f57692..b0189a703d28 100644
--- a/drivers/staging/rtl8723bs/include/rtw_xmit.h
+++ b/drivers/staging/rtl8723bs/include/rtw_xmit.h
@@ -457,7 +457,6 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter);
void _rtw_free_xmit_priv(struct xmit_priv *pxmitpriv);
-s32 rtw_alloc_hwxmits(struct adapter *padapter);
void rtw_free_hwxmits(struct adapter *padapter);
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v5 3/6] staging: rtl8723bs: convert rtw_alloc_hwxmits to return errno
2026-04-08 11:13 [PATCH v5 0/6] staging: rtl8723bs: convert xmit init path to errno Hungyu Lin
2026-04-08 11:13 ` [PATCH v5 1/6] staging: rtl8723bs: simplify _rtw_init_xmit_priv control flow Hungyu Lin
2026-04-08 11:13 ` [PATCH v5 2/6] staging: rtl8723bs: make rtw_alloc_hwxmits static Hungyu Lin
@ 2026-04-08 11:13 ` Hungyu Lin
2026-04-08 11:13 ` [PATCH v5 4/6] staging: rtl8723bs: move rtw_os_xmit_resource_alloc to rtw_xmit.c Hungyu Lin
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Hungyu Lin @ 2026-04-08 11:13 UTC (permalink / raw)
To: gregkh; +Cc: dan.carpenter, ethantidmore, linux-staging, linux-kernel,
Hungyu Lin
Convert rtw_alloc_hwxmits() to return 0 on success and
-ENOMEM on failure. Update the caller to check for
non-zero return values.
Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
---
drivers/staging/rtl8723bs/core/rtw_xmit.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c
index b86c9c2f3b93..befe74a1bc4c 100644
--- a/drivers/staging/rtl8723bs/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c
@@ -45,7 +45,7 @@ static s32 rtw_alloc_hwxmits(struct adapter *padapter)
pxmitpriv->hwxmits = kzalloc_objs(*hwxmits, pxmitpriv->hwxmit_entry,
GFP_ATOMIC);
if (!pxmitpriv->hwxmits)
- return _FAIL;
+ return -ENOMEM;
hwxmits = pxmitpriv->hwxmits;
@@ -70,7 +70,7 @@ static s32 rtw_alloc_hwxmits(struct adapter *padapter)
} else {
}
- return _SUCCESS;
+ return 0;
}
s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
@@ -287,7 +287,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
}
res = rtw_alloc_hwxmits(padapter);
- if (res == _FAIL)
+ if (res)
return _FAIL;
rtw_init_hwxmits(pxmitpriv->hwxmits, pxmitpriv->hwxmit_entry);
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v5 4/6] staging: rtl8723bs: move rtw_os_xmit_resource_alloc to rtw_xmit.c
2026-04-08 11:13 [PATCH v5 0/6] staging: rtl8723bs: convert xmit init path to errno Hungyu Lin
` (2 preceding siblings ...)
2026-04-08 11:13 ` [PATCH v5 3/6] staging: rtl8723bs: convert rtw_alloc_hwxmits to return errno Hungyu Lin
@ 2026-04-08 11:13 ` Hungyu Lin
2026-04-08 11:13 ` [PATCH v5 5/6] staging: rtl8723bs: convert rtw_os_xmit_resource_alloc to return errno Hungyu Lin
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Hungyu Lin @ 2026-04-08 11:13 UTC (permalink / raw)
To: gregkh; +Cc: dan.carpenter, ethantidmore, linux-staging, linux-kernel,
Hungyu Lin
Move rtw_os_xmit_resource_alloc() into core/rtw_xmit.c and make
it static so the xmit init helpers live together.
Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
---
drivers/staging/rtl8723bs/core/rtw_xmit.c | 13 +++++++++++++
drivers/staging/rtl8723bs/include/xmit_osdep.h | 1 -
drivers/staging/rtl8723bs/os_dep/xmit_linux.c | 13 -------------
3 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c
index befe74a1bc4c..249947a7d910 100644
--- a/drivers/staging/rtl8723bs/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c
@@ -73,6 +73,19 @@ static s32 rtw_alloc_hwxmits(struct adapter *padapter)
return 0;
}
+static int rtw_os_xmit_resource_alloc(struct adapter *padapter, struct xmit_buf *pxmitbuf, u32 alloc_sz, u8 flag)
+{
+ if (alloc_sz > 0) {
+ pxmitbuf->pallocated_buf = kzalloc(alloc_sz, GFP_KERNEL);
+ if (!pxmitbuf->pallocated_buf)
+ return _FAIL;
+
+ pxmitbuf->pbuf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitbuf->pallocated_buf), XMITBUF_ALIGN_SZ);
+ }
+
+ return _SUCCESS;
+}
+
s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
{
int i;
diff --git a/drivers/staging/rtl8723bs/include/xmit_osdep.h b/drivers/staging/rtl8723bs/include/xmit_osdep.h
index 880344bffe2f..5b351652e31b 100644
--- a/drivers/staging/rtl8723bs/include/xmit_osdep.h
+++ b/drivers/staging/rtl8723bs/include/xmit_osdep.h
@@ -30,7 +30,6 @@ extern netdev_tx_t rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetde
void rtw_os_xmit_schedule(struct adapter *padapter);
-int rtw_os_xmit_resource_alloc(struct adapter *padapter, struct xmit_buf *pxmitbuf, u32 alloc_sz, u8 flag);
void rtw_os_xmit_resource_free(struct adapter *padapter, struct xmit_buf *pxmitbuf, u32 free_sz, u8 flag);
extern uint rtw_remainder_len(struct pkt_file *pfile);
diff --git a/drivers/staging/rtl8723bs/os_dep/xmit_linux.c b/drivers/staging/rtl8723bs/os_dep/xmit_linux.c
index dc0b77f38b1a..54a6d54400e2 100644
--- a/drivers/staging/rtl8723bs/os_dep/xmit_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/xmit_linux.c
@@ -46,19 +46,6 @@ signed int rtw_endofpktfile(struct pkt_file *pfile)
return false;
}
-int rtw_os_xmit_resource_alloc(struct adapter *padapter, struct xmit_buf *pxmitbuf, u32 alloc_sz, u8 flag)
-{
- if (alloc_sz > 0) {
- pxmitbuf->pallocated_buf = kzalloc(alloc_sz, GFP_KERNEL);
- if (!pxmitbuf->pallocated_buf)
- return _FAIL;
-
- pxmitbuf->pbuf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitbuf->pallocated_buf), XMITBUF_ALIGN_SZ);
- }
-
- return _SUCCESS;
-}
-
void rtw_os_xmit_resource_free(struct adapter *padapter, struct xmit_buf *pxmitbuf, u32 free_sz, u8 flag)
{
if (free_sz > 0)
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v5 5/6] staging: rtl8723bs: convert rtw_os_xmit_resource_alloc to return errno
2026-04-08 11:13 [PATCH v5 0/6] staging: rtl8723bs: convert xmit init path to errno Hungyu Lin
` (3 preceding siblings ...)
2026-04-08 11:13 ` [PATCH v5 4/6] staging: rtl8723bs: move rtw_os_xmit_resource_alloc to rtw_xmit.c Hungyu Lin
@ 2026-04-08 11:13 ` Hungyu Lin
2026-04-08 11:13 ` [PATCH v5 6/6] staging: rtl8723bs: convert _rtw_init_xmit_priv " Hungyu Lin
2026-04-08 13:48 ` [PATCH v5 0/6] staging: rtl8723bs: convert xmit init path to errno Dan Carpenter
6 siblings, 0 replies; 8+ messages in thread
From: Hungyu Lin @ 2026-04-08 11:13 UTC (permalink / raw)
To: gregkh; +Cc: dan.carpenter, ethantidmore, linux-staging, linux-kernel,
Hungyu Lin
Convert rtw_os_xmit_resource_alloc() to return 0 on success
and -ENOMEM on failure. Update the callers to check for
non-zero return values.
Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
---
drivers/staging/rtl8723bs/core/rtw_xmit.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c
index 249947a7d910..fedfc968057b 100644
--- a/drivers/staging/rtl8723bs/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c
@@ -78,12 +78,12 @@ static int rtw_os_xmit_resource_alloc(struct adapter *padapter, struct xmit_buf
if (alloc_sz > 0) {
pxmitbuf->pallocated_buf = kzalloc(alloc_sz, GFP_KERNEL);
if (!pxmitbuf->pallocated_buf)
- return _FAIL;
+ return -ENOMEM;
pxmitbuf->pbuf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitbuf->pallocated_buf), XMITBUF_ALIGN_SZ);
}
- return _SUCCESS;
+ return 0;
}
s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
@@ -179,10 +179,10 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
/* Tx buf allocation may fail sometimes, so sleep and retry. */
res = rtw_os_xmit_resource_alloc(padapter, pxmitbuf, (MAX_XMITBUF_SZ + XMITBUF_ALIGN_SZ), true);
- if (res == _FAIL) {
+ if (res) {
fsleep(10 * USEC_PER_MSEC);
res = rtw_os_xmit_resource_alloc(padapter, pxmitbuf, (MAX_XMITBUF_SZ + XMITBUF_ALIGN_SZ), true);
- if (res == _FAIL)
+ if (res)
return _FAIL;
}
@@ -258,7 +258,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
pxmitbuf->buf_tag = XMITBUF_MGNT;
res = rtw_os_xmit_resource_alloc(padapter, pxmitbuf, MAX_XMIT_EXTBUF_SZ + XMITBUF_ALIGN_SZ, true);
- if (res == _FAIL)
+ if (res)
return _FAIL;
pxmitbuf->phead = pxmitbuf->pbuf;
@@ -288,7 +288,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
res = rtw_os_xmit_resource_alloc(padapter, pxmitbuf,
MAX_CMDBUF_SZ + XMITBUF_ALIGN_SZ,
true);
- if (res == _FAIL)
+ if (res)
return _FAIL;
pxmitbuf->phead = pxmitbuf->pbuf;
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v5 6/6] staging: rtl8723bs: convert _rtw_init_xmit_priv to return errno
2026-04-08 11:13 [PATCH v5 0/6] staging: rtl8723bs: convert xmit init path to errno Hungyu Lin
` (4 preceding siblings ...)
2026-04-08 11:13 ` [PATCH v5 5/6] staging: rtl8723bs: convert rtw_os_xmit_resource_alloc to return errno Hungyu Lin
@ 2026-04-08 11:13 ` Hungyu Lin
2026-04-08 13:48 ` [PATCH v5 0/6] staging: rtl8723bs: convert xmit init path to errno Dan Carpenter
6 siblings, 0 replies; 8+ messages in thread
From: Hungyu Lin @ 2026-04-08 11:13 UTC (permalink / raw)
To: gregkh; +Cc: dan.carpenter, ethantidmore, linux-staging, linux-kernel,
Hungyu Lin
Convert _rtw_init_xmit_priv() to return 0 on success and
negative error codes on failure. Update the caller to
check for non-zero return values.
Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
---
drivers/staging/rtl8723bs/core/rtw_xmit.c | 18 +++++++++---------
drivers/staging/rtl8723bs/os_dep/os_intfs.c | 5 ++++-
2 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c
index fedfc968057b..c6cf23b9c98a 100644
--- a/drivers/staging/rtl8723bs/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c
@@ -128,7 +128,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
if (!pxmitpriv->pallocated_frame_buf) {
pxmitpriv->pxmit_frame_buf = NULL;
- return _FAIL;
+ return -ENOMEM;
}
pxmitpriv->pxmit_frame_buf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitpriv->pallocated_frame_buf), 4);
@@ -164,7 +164,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
pxmitpriv->pallocated_xmitbuf = vzalloc(NR_XMITBUFF * sizeof(struct xmit_buf) + 4);
if (!pxmitpriv->pallocated_xmitbuf)
- return _FAIL;
+ return -ENOMEM;
pxmitpriv->pxmitbuf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitpriv->pallocated_xmitbuf), 4);
@@ -183,7 +183,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
fsleep(10 * USEC_PER_MSEC);
res = rtw_os_xmit_resource_alloc(padapter, pxmitbuf, (MAX_XMITBUF_SZ + XMITBUF_ALIGN_SZ), true);
if (res)
- return _FAIL;
+ return res;
}
pxmitbuf->phead = pxmitbuf->pbuf;
@@ -212,7 +212,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
if (!pxmitpriv->xframe_ext_alloc_addr) {
pxmitpriv->xframe_ext = NULL;
- return _FAIL;
+ return -ENOMEM;
}
pxmitpriv->xframe_ext = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitpriv->xframe_ext_alloc_addr), 4);
pxframe = (struct xmit_frame *)pxmitpriv->xframe_ext;
@@ -244,7 +244,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
pxmitpriv->pallocated_xmit_extbuf = vzalloc(NR_XMIT_EXTBUFF * sizeof(struct xmit_buf) + 4);
if (!pxmitpriv->pallocated_xmit_extbuf)
- return _FAIL;
+ return -ENOMEM;
pxmitpriv->pxmit_extbuf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitpriv->pallocated_xmit_extbuf), 4);
@@ -259,7 +259,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
res = rtw_os_xmit_resource_alloc(padapter, pxmitbuf, MAX_XMIT_EXTBUF_SZ + XMITBUF_ALIGN_SZ, true);
if (res)
- return _FAIL;
+ return res;
pxmitbuf->phead = pxmitbuf->pbuf;
pxmitbuf->pend = pxmitbuf->pbuf + MAX_XMIT_EXTBUF_SZ;
@@ -289,7 +289,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
MAX_CMDBUF_SZ + XMITBUF_ALIGN_SZ,
true);
if (res)
- return _FAIL;
+ return res;
pxmitbuf->phead = pxmitbuf->pbuf;
pxmitbuf->pend = pxmitbuf->pbuf + MAX_CMDBUF_SZ;
@@ -301,7 +301,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
res = rtw_alloc_hwxmits(padapter);
if (res)
- return _FAIL;
+ return res;
rtw_init_hwxmits(pxmitpriv->hwxmits, pxmitpriv->hwxmit_entry);
for (i = 0; i < 4; i++)
@@ -313,7 +313,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
rtw_hal_init_xmit_priv(padapter);
- return _SUCCESS;
+ return 0;
}
void _rtw_free_xmit_priv(struct xmit_priv *pxmitpriv)
diff --git a/drivers/staging/rtl8723bs/os_dep/os_intfs.c b/drivers/staging/rtl8723bs/os_dep/os_intfs.c
index e943dcea1a21..f4214608c4fa 100644
--- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c
+++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c
@@ -636,6 +636,8 @@ void rtw_reset_drv_sw(struct adapter *padapter)
u8 rtw_init_drv_sw(struct adapter *padapter)
{
+ int res;
+
rtw_init_default_value(padapter);
rtw_init_hal_com_default_value(padapter);
@@ -653,7 +655,8 @@ u8 rtw_init_drv_sw(struct adapter *padapter)
init_mlme_ext_priv(padapter);
- if (_rtw_init_xmit_priv(&padapter->xmitpriv, padapter) == _FAIL)
+ res = _rtw_init_xmit_priv(&padapter->xmitpriv, padapter);
+ if (res)
goto free_mlme_ext;
if (_rtw_init_recv_priv(&padapter->recvpriv, padapter) == _FAIL)
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v5 0/6] staging: rtl8723bs: convert xmit init path to errno
2026-04-08 11:13 [PATCH v5 0/6] staging: rtl8723bs: convert xmit init path to errno Hungyu Lin
` (5 preceding siblings ...)
2026-04-08 11:13 ` [PATCH v5 6/6] staging: rtl8723bs: convert _rtw_init_xmit_priv " Hungyu Lin
@ 2026-04-08 13:48 ` Dan Carpenter
6 siblings, 0 replies; 8+ messages in thread
From: Dan Carpenter @ 2026-04-08 13:48 UTC (permalink / raw)
To: Hungyu Lin
Cc: gregkh, dan.carpenter, ethantidmore, linux-staging, linux-kernel
On Wed, Apr 08, 2026 at 11:13:08AM +0000, Hungyu Lin wrote:
> Convert the xmit initialization path to use standard kernel
> return conventions: 0 on success and negative errno on failure.
>
> This replaces the use of _SUCCESS/_FAIL with proper error
> codes and improves error propagation.
>
> The changes are split into smaller patches following review
> feedback from Dan Carpenter, converting one function at a time
> to make the series easier to review.
>
> v5:
> - Fix trailing whitespace in os_intfs.c
>
> v4:
> - Split into a series of smaller patches as suggested by Dan Carpenter
> - Convert functions step by step to improve reviewability
> - Ensure each patch builds independently
>
Thanks!
Reviewed-by: Dan Carpenter <error27@gmail.com>
regards,
dan carpenter
^ permalink raw reply [flat|nested] 8+ messages in thread