public inbox for linux-staging@lists.linux.dev
 help / color / mirror / Atom feed
* [PATCH v5 0/6] staging: rtl8723bs: convert xmit init path to errno
@ 2026-04-08 11:13 Hungyu Lin
  2026-04-08 11:13 ` [PATCH v5 1/6] staging: rtl8723bs: simplify _rtw_init_xmit_priv control flow Hungyu Lin
                   ` (6 more replies)
  0 siblings, 7 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 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

v3:
- Rebase onto latest staging-next to resolve conflicts.

v2:
- Rework xmit init path to remove _SUCCESS/_FAIL usage
- Convert allocation helpers to return standard error codes
- Update caller to use direct failure checks
- Address review feedback from Ethan Tidmore

Hungyu Lin (6):
  staging: rtl8723bs: simplify _rtw_init_xmit_priv control flow
  staging: rtl8723bs: make rtw_alloc_hwxmits static
  staging: rtl8723bs: convert rtw_alloc_hwxmits to return errno
  staging: rtl8723bs: move rtw_os_xmit_resource_alloc to rtw_xmit.c
  staging: rtl8723bs: convert rtw_os_xmit_resource_alloc to return errno
  staging: rtl8723bs: convert _rtw_init_xmit_priv to return errno

 drivers/staging/rtl8723bs/core/rtw_xmit.c     | 138 +++++++++---------
 drivers/staging/rtl8723bs/include/rtw_xmit.h  |   1 -
 .../staging/rtl8723bs/include/xmit_osdep.h    |   1 -
 drivers/staging/rtl8723bs/os_dep/os_intfs.c   |   5 +-
 drivers/staging/rtl8723bs/os_dep/xmit_linux.c |  13 --
 5 files changed, 74 insertions(+), 84 deletions(-)

-- 
2.34.1


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

* [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

end of thread, other threads:[~2026-04-08 13:48 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [PATCH v5 3/6] staging: rtl8723bs: convert rtw_alloc_hwxmits to return errno 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
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 ` [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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox