* [PATCH 1/5] staging: rtl8723bs: remove redundant return variable in rtw_make_wlanhdr()
2026-07-13 7:05 [PATCH 0/5] staging: rtl8723bs: convert xmit helpers to return errno Hungyu Lin
@ 2026-07-13 7:05 ` Hungyu Lin
2026-07-13 7:05 ` [PATCH 2/5] staging: rtl8723bs: convert rtw_make_wlanhdr() to return errno Hungyu Lin
` (4 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Hungyu Lin @ 2026-07-13 7:05 UTC (permalink / raw)
To: gregkh
Cc: error27, khomenkov, khushalchitturi, s9430939, nikolayof23,
linux-staging, linux-kernel, Hungyu Lin
The temporary return variable is no longer needed because the only
error path returns directly. Remove the redundant variable and exit
label, and return _SUCCESS directly on the success path.
No functional change intended.
Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
---
drivers/staging/rtl8723bs/core/rtw_xmit.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c
index ca8f01575b55..ff67e2576b31 100644
--- a/drivers/staging/rtl8723bs/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c
@@ -911,7 +911,6 @@ s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct qos_priv *pqospriv = &pmlmepriv->qospriv;
u8 qos_option = false;
- signed int res = _SUCCESS;
__le16 *fctrl = &pwlanhdr->frame_control;
memset(hdr, 0, WLANHDR_OFFSET);
@@ -951,8 +950,7 @@ s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr
if (pattrib->qos_en)
qos_option = true;
} else {
- res = _FAIL;
- goto exit;
+ return _FAIL;
}
if (pattrib->mdata)
@@ -1026,8 +1024,7 @@ s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr
} else {
}
-exit:
- return res;
+ return _SUCCESS;
}
s32 rtw_txframes_pending(struct adapter *padapter)
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH 2/5] staging: rtl8723bs: convert rtw_make_wlanhdr() to return errno
2026-07-13 7:05 [PATCH 0/5] staging: rtl8723bs: convert xmit helpers to return errno Hungyu Lin
2026-07-13 7:05 ` [PATCH 1/5] staging: rtl8723bs: remove redundant return variable in rtw_make_wlanhdr() Hungyu Lin
@ 2026-07-13 7:05 ` Hungyu Lin
2026-07-13 8:16 ` Dan Carpenter
2026-07-13 7:05 ` [PATCH 3/5] staging: rtl8723bs: convert xmitframe_addmic() " Hungyu Lin
` (3 subsequent siblings)
5 siblings, 1 reply; 8+ messages in thread
From: Hungyu Lin @ 2026-07-13 7:05 UTC (permalink / raw)
To: gregkh
Cc: error27, khomenkov, khushalchitturi, s9430939, nikolayof23,
linux-staging, linux-kernel, Hungyu Lin
Convert rtw_make_wlanhdr() to return 0 on success and
a negative errno on failure.
Update the immediate caller to handle errno return values
while preserving the existing _SUCCESS/_FAIL semantics.
No functional change intended.
Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
---
drivers/staging/rtl8723bs/core/rtw_xmit.c | 15 ++++++++-------
drivers/staging/rtl8723bs/include/rtw_xmit.h | 2 +-
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c
index ff67e2576b31..98b886732646 100644
--- a/drivers/staging/rtl8723bs/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c
@@ -903,7 +903,7 @@ static s32 xmitframe_swencrypt(struct adapter *padapter, struct xmit_frame *pxmi
return _SUCCESS;
}
-s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattrib)
+int rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattrib)
{
u16 *qc;
@@ -950,7 +950,7 @@ s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr
if (pattrib->qos_en)
qos_option = true;
} else {
- return _FAIL;
+ return -EINVAL;
}
if (pattrib->mdata)
@@ -978,13 +978,13 @@ s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr
psta = rtw_get_stainfo(&padapter->stapriv, pattrib->ra);
if (pattrib->psta != psta)
- return _FAIL;
+ return -EINVAL;
if (!psta)
- return _FAIL;
+ return -ENOENT;
if (!(psta->state & _FW_LINKED))
- return _FAIL;
+ return -ENOLINK;
if (psta) {
psta->sta_xmitpriv.txseq_tid[pattrib->priority]++;
@@ -1024,7 +1024,7 @@ s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr
} else {
}
- return _SUCCESS;
+ return 0;
}
s32 rtw_txframes_pending(struct adapter *padapter)
@@ -1093,7 +1093,8 @@ s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct
hw_hdr_offset = TXDESC_OFFSET;
mem_start = pbuf_start + hw_hdr_offset;
- if (rtw_make_wlanhdr(padapter, mem_start, pattrib) == _FAIL) {
+ ret = rtw_make_wlanhdr(padapter, mem_start, pattrib);
+ if (ret) {
res = _FAIL;
goto exit;
}
diff --git a/drivers/staging/rtl8723bs/include/rtw_xmit.h b/drivers/staging/rtl8723bs/include/rtw_xmit.h
index f67cb22e3396..303b50051274 100644
--- a/drivers/staging/rtl8723bs/include/rtw_xmit.h
+++ b/drivers/staging/rtl8723bs/include/rtw_xmit.h
@@ -410,7 +410,7 @@ extern s32 rtw_free_xmitbuf(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitb
void rtw_count_tx_stats(struct adapter *padapter, struct xmit_frame *pxmitframe, int sz);
extern void rtw_update_protection(struct adapter *padapter, u8 *ie, uint ie_len);
-extern s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattrib);
+extern int rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattrib);
extern s32 rtw_put_snap(u8 *data, u16 h_proto);
extern struct xmit_frame *rtw_alloc_xmitframe(struct xmit_priv *pxmitpriv);
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH 2/5] staging: rtl8723bs: convert rtw_make_wlanhdr() to return errno
2026-07-13 7:05 ` [PATCH 2/5] staging: rtl8723bs: convert rtw_make_wlanhdr() to return errno Hungyu Lin
@ 2026-07-13 8:16 ` Dan Carpenter
0 siblings, 0 replies; 8+ messages in thread
From: Dan Carpenter @ 2026-07-13 8:16 UTC (permalink / raw)
To: Hungyu Lin
Cc: gregkh, khomenkov, khushalchitturi, s9430939, nikolayof23,
linux-staging, linux-kernel
On Mon, Jul 13, 2026 at 07:05:34AM +0000, Hungyu Lin wrote:
> Convert rtw_make_wlanhdr() to return 0 on success and
> a negative errno on failure.
>
> Update the immediate caller to handle errno return values
> while preserving the existing _SUCCESS/_FAIL semantics.
>
> No functional change intended.
>
> Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
> ---
Unrelated to this patchset but it would be good to make rtw_make_wlanhdr()
static as well.
regards,
dan carpenter
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/5] staging: rtl8723bs: convert xmitframe_addmic() to return errno
2026-07-13 7:05 [PATCH 0/5] staging: rtl8723bs: convert xmit helpers to return errno Hungyu Lin
2026-07-13 7:05 ` [PATCH 1/5] staging: rtl8723bs: remove redundant return variable in rtw_make_wlanhdr() Hungyu Lin
2026-07-13 7:05 ` [PATCH 2/5] staging: rtl8723bs: convert rtw_make_wlanhdr() to return errno Hungyu Lin
@ 2026-07-13 7:05 ` Hungyu Lin
2026-07-13 7:05 ` [PATCH 4/5] staging: rtl8723bs: simplify rtw_xmitframe_coalesce() control flow Hungyu Lin
` (2 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Hungyu Lin @ 2026-07-13 7:05 UTC (permalink / raw)
To: gregkh
Cc: error27, khomenkov, khushalchitturi, s9430939, nikolayof23,
linux-staging, linux-kernel, Hungyu Lin
Convert xmitframe_addmic() to return 0 on success and
a negative errno on failure.
Update the immediate caller to handle errno return values
while preserving the existing _SUCCESS/_FAIL semantics.
No functional change intended.
Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
---
drivers/staging/rtl8723bs/core/rtw_xmit.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c
index 98b886732646..07e413f4dbdb 100644
--- a/drivers/staging/rtl8723bs/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c
@@ -797,7 +797,7 @@ static int update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct p
return 0;
}
-static s32 xmitframe_addmic(struct adapter *padapter, struct xmit_frame *pxmitframe)
+static int xmitframe_addmic(struct adapter *padapter, struct xmit_frame *pxmitframe)
{
signed int curfragnum, length;
u8 *pframe, *payload, mic[8];
@@ -820,12 +820,12 @@ static s32 xmitframe_addmic(struct adapter *padapter, struct xmit_frame *pxmitfr
if (bmcst) {
if (!memcmp(psecuritypriv->dot118021XGrptxmickey[psecuritypriv->dot118021XGrpKeyid].skey, null_key, 16))
- return _FAIL;
+ return -EINVAL;
/* start to calculate the mic code */
rtw_secmicsetkey(&micdata, psecuritypriv->dot118021XGrptxmickey[psecuritypriv->dot118021XGrpKeyid].skey);
} else {
if (!memcmp(&pattrib->dot11tkiptxmickey.skey[0], null_key, 16))
- return _FAIL;
+ return -EINVAL;
/* start to calculate the mic code */
rtw_secmicsetkey(&micdata, &pattrib->dot11tkiptxmickey.skey[0]);
}
@@ -876,7 +876,7 @@ static s32 xmitframe_addmic(struct adapter *padapter, struct xmit_frame *pxmitfr
pattrib->last_txcmdsz += 8;
}
}
- return _SUCCESS;
+ return 0;
}
static s32 xmitframe_swencrypt(struct adapter *padapter, struct xmit_frame *pxmitframe)
@@ -1175,7 +1175,8 @@ s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct
memcpy(mem_start, pbuf_start + hw_hdr_offset, pattrib->hdrlen);
}
- if (xmitframe_addmic(padapter, pxmitframe) == _FAIL) {
+ ret = xmitframe_addmic(padapter, pxmitframe);
+ if (ret) {
res = _FAIL;
goto exit;
}
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH 4/5] staging: rtl8723bs: simplify rtw_xmitframe_coalesce() control flow
2026-07-13 7:05 [PATCH 0/5] staging: rtl8723bs: convert xmit helpers to return errno Hungyu Lin
` (2 preceding siblings ...)
2026-07-13 7:05 ` [PATCH 3/5] staging: rtl8723bs: convert xmitframe_addmic() " Hungyu Lin
@ 2026-07-13 7:05 ` Hungyu Lin
2026-07-13 7:05 ` [PATCH 5/5] staging: rtl8723bs: convert rtw_xmitframe_coalesce() to return errno Hungyu Lin
2026-07-13 8:15 ` [PATCH 0/5] staging: rtl8723bs: convert xmit helpers " Dan Carpenter
5 siblings, 0 replies; 8+ messages in thread
From: Hungyu Lin @ 2026-07-13 7:05 UTC (permalink / raw)
To: gregkh
Cc: error27, khomenkov, khushalchitturi, s9430939, nikolayof23,
linux-staging, linux-kernel, Hungyu Lin
Replace goto-based error handling with direct returns and
remove the temporary res variable.
No functional change intended.
Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
---
drivers/staging/rtl8723bs/core/rtw_xmit.c | 16 +++++-----------
1 file changed, 5 insertions(+), 11 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c
index 07e413f4dbdb..d4bdda50b68f 100644
--- a/drivers/staging/rtl8723bs/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c
@@ -1082,7 +1082,6 @@ s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct
u8 *pbuf_start;
s32 bmcst = is_multicast_ether_addr(pattrib->ra);
- s32 res = _SUCCESS;
int ret;
if (!pxmitframe->buf_addr)
@@ -1094,10 +1093,8 @@ s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct
mem_start = pbuf_start + hw_hdr_offset;
ret = rtw_make_wlanhdr(padapter, mem_start, pattrib);
- if (ret) {
- res = _FAIL;
- goto exit;
- }
+ if (ret)
+ return _FAIL;
_rtw_open_pktfile(pkt, &pktfile);
ret = _rtw_pktfile_read(&pktfile, NULL, pattrib->pkt_hdrlen);
@@ -1176,10 +1173,8 @@ s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct
}
ret = xmitframe_addmic(padapter, pxmitframe);
- if (ret) {
- res = _FAIL;
- goto exit;
- }
+ if (ret)
+ return _FAIL;
xmitframe_swencrypt(padapter, pxmitframe);
@@ -1188,8 +1183,7 @@ s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct
else
pattrib->vcs_mode = NONE_VCS;
-exit:
- return res;
+ return _SUCCESS;
}
/* broadcast or multicast management pkt use BIP, unicast management pkt use CCMP encryption */
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH 5/5] staging: rtl8723bs: convert rtw_xmitframe_coalesce() to return errno
2026-07-13 7:05 [PATCH 0/5] staging: rtl8723bs: convert xmit helpers to return errno Hungyu Lin
` (3 preceding siblings ...)
2026-07-13 7:05 ` [PATCH 4/5] staging: rtl8723bs: simplify rtw_xmitframe_coalesce() control flow Hungyu Lin
@ 2026-07-13 7:05 ` Hungyu Lin
2026-07-13 8:15 ` [PATCH 0/5] staging: rtl8723bs: convert xmit helpers " Dan Carpenter
5 siblings, 0 replies; 8+ messages in thread
From: Hungyu Lin @ 2026-07-13 7:05 UTC (permalink / raw)
To: gregkh
Cc: error27, khomenkov, khushalchitturi, s9430939, nikolayof23,
linux-staging, linux-kernel, Hungyu Lin
Convert rtw_xmitframe_coalesce() to return 0 on success
and a negative errno on failure.
Propagate errno values returned by the helper functions
instead of converting them to _FAIL.
No functional change intended.
Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
---
drivers/staging/rtl8723bs/core/rtw_xmit.c | 10 +++++-----
drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c | 2 +-
drivers/staging/rtl8723bs/include/rtw_xmit.h | 2 +-
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c
index d4bdda50b68f..2626ac8ba178 100644
--- a/drivers/staging/rtl8723bs/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c
@@ -1064,7 +1064,7 @@ u32 rtw_calculate_wlan_pkt_size_by_attribue(struct pkt_attrib *pattrib)
* 5. move frag chunk from pframe to pxmitframe->mem
* 6. apply sw-encrypt, if necessary.
*/
-s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe)
+int rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe)
{
struct pkt_file pktfile;
@@ -1085,7 +1085,7 @@ s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct
int ret;
if (!pxmitframe->buf_addr)
- return _FAIL;
+ return -EINVAL;
pbuf_start = pxmitframe->buf_addr;
@@ -1094,7 +1094,7 @@ s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct
ret = rtw_make_wlanhdr(padapter, mem_start, pattrib);
if (ret)
- return _FAIL;
+ return ret;
_rtw_open_pktfile(pkt, &pktfile);
ret = _rtw_pktfile_read(&pktfile, NULL, pattrib->pkt_hdrlen);
@@ -1174,7 +1174,7 @@ s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct
ret = xmitframe_addmic(padapter, pxmitframe);
if (ret)
- return _FAIL;
+ return ret;
xmitframe_swencrypt(padapter, pxmitframe);
@@ -1183,7 +1183,7 @@ s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct
else
pattrib->vcs_mode = NONE_VCS;
- return _SUCCESS;
+ return 0;
}
/* broadcast or multicast management pkt use BIP, unicast management pkt use CCMP encryption */
diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
index e40f69c13c44..79dbca1b5525 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
@@ -285,7 +285,7 @@ static s32 xmit_xmitframes(struct adapter *padapter, struct xmit_priv *pxmitpriv
pxmitframe->buf_addr = pxmitbuf->ptail;
ret = rtw_xmitframe_coalesce(padapter, pxmitframe->pkt, pxmitframe);
- if (ret != _SUCCESS) {
+ if (ret) {
netdev_err(padapter->pnetdev,
"%s: coalesce failed with error %d\n",
__func__, ret);
diff --git a/drivers/staging/rtl8723bs/include/rtw_xmit.h b/drivers/staging/rtl8723bs/include/rtw_xmit.h
index 303b50051274..917e846e9ce2 100644
--- a/drivers/staging/rtl8723bs/include/rtw_xmit.h
+++ b/drivers/staging/rtl8723bs/include/rtw_xmit.h
@@ -423,7 +423,7 @@ int rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitfram
extern u32 rtw_calculate_wlan_pkt_size_by_attribue(struct pkt_attrib *pattrib);
#define rtw_wlan_pkt_size(f) rtw_calculate_wlan_pkt_size_by_attribue(&f->attrib)
-extern s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe);
+extern int rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe);
extern s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe);
s32 _rtw_init_hw_txqueue(struct hw_txqueue *phw_txqueue, u8 ac_tag);
void _rtw_init_sta_xmit_priv(struct sta_xmit_priv *psta_xmitpriv);
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH 0/5] staging: rtl8723bs: convert xmit helpers to return errno
2026-07-13 7:05 [PATCH 0/5] staging: rtl8723bs: convert xmit helpers to return errno Hungyu Lin
` (4 preceding siblings ...)
2026-07-13 7:05 ` [PATCH 5/5] staging: rtl8723bs: convert rtw_xmitframe_coalesce() to return errno Hungyu Lin
@ 2026-07-13 8:15 ` Dan Carpenter
5 siblings, 0 replies; 8+ messages in thread
From: Dan Carpenter @ 2026-07-13 8:15 UTC (permalink / raw)
To: Hungyu Lin
Cc: gregkh, khomenkov, khushalchitturi, s9430939, nikolayof23,
linux-staging, linux-kernel
On Mon, Jul 13, 2026 at 07:05:32AM +0000, Hungyu Lin wrote:
> This series first simplifies control flow in rtw_make_wlanhdr()
> and rtw_xmitframe_coalesce() by removing redundant return
> variables and goto-based error handling. It then converts
> rtw_make_wlanhdr(), xmitframe_addmic(), and
> rtw_xmitframe_coalesce() to return errno values while
> propagating errno values through the caller chain.
>
Thanks!
Reviewed-by: Dan Carpenter <error27@gmail.com>
regards,
dan carpenter
^ permalink raw reply [flat|nested] 8+ messages in thread