* [PATCH v4 0/4] staging: rtl8723bs: convert update_attrib path to errno
@ 2026-07-07 11:24 Hungyu Lin
2026-07-07 11:25 ` [PATCH v4 1/4] staging: rtl8723bs: simplify update_attrib_sec_info control flow Hungyu Lin
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Hungyu Lin @ 2026-07-07 11:24 UTC (permalink / raw)
To: gregkh
Cc: error27, khomenkov, khushalchitturi, s9430939, marcosandrade95963,
linux-staging, linux-kernel, Hungyu Lin
This series first simplifies control flow in update_attrib_sec_info()
and update_attrib() by replacing goto-based error handling with
direct returns. It then converts both functions to return errno
values and propagates the returned error codes through the caller
chain.
Changes in v4:
- Resend the complete series as requested by Greg KH
- No code changes
Changes in v3:
- Split update_attrib_sec_info() errno conversion from caller changes
- Keep update_attrib() using _FAIL in the intermediate step
- Convert update_attrib() and rtw_xmit() to propagate errno
Changes in v2:
- Keep braces around the multi-line if statement in update_attrib()
- Split errno conversion and propagation as suggested by Dan Carpenter
- Change update_attrib_sec_info() and update_attrib() return types to int
Hungyu Lin (4):
staging: rtl8723bs: simplify update_attrib_sec_info control flow
staging: rtl8723bs: simplify update_attrib control flow
staging: rtl8723bs: convert update_attrib_sec_info to return errno
staging: rtl8723bs: convert update_attrib to return errno
drivers/staging/rtl8723bs/core/rtw_xmit.c | 55 +++++++++--------------
1 file changed, 20 insertions(+), 35 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v4 1/4] staging: rtl8723bs: simplify update_attrib_sec_info control flow
2026-07-07 11:24 [PATCH v4 0/4] staging: rtl8723bs: convert update_attrib path to errno Hungyu Lin
@ 2026-07-07 11:25 ` Hungyu Lin
2026-07-07 11:25 ` [PATCH v4 2/4] staging: rtl8723bs: simplify update_attrib " Hungyu Lin
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Hungyu Lin @ 2026-07-07 11:25 UTC (permalink / raw)
To: gregkh
Cc: error27, khomenkov, khushalchitturi, s9430939, marcosandrade95963,
linux-staging, linux-kernel, Hungyu Lin
Replace goto-based error handling with direct returns and
remove the temporary res variable.
No functional change.
Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
---
drivers/staging/rtl8723bs/core/rtw_xmit.c | 17 +++++------------
1 file changed, 5 insertions(+), 12 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c
index 444966c0de7f..6ab91de472b0 100644
--- a/drivers/staging/rtl8723bs/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c
@@ -507,7 +507,6 @@ static void update_attrib_phy_info(struct adapter *padapter, struct pkt_attrib *
static s32 update_attrib_sec_info(struct adapter *padapter, struct pkt_attrib *pattrib, struct sta_info *psta)
{
- signed int res = _SUCCESS;
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct security_priv *psecuritypriv = &padapter->securitypriv;
signed int bmcast = is_multicast_ether_addr(pattrib->ra);
@@ -519,10 +518,8 @@ static s32 update_attrib_sec_info(struct adapter *padapter, struct pkt_attrib *p
if (psta->ieee8021x_blocked) {
pattrib->encrypt = 0;
- if ((pattrib->ether_type != 0x888e) && !check_fwstate(pmlmepriv, WIFI_MP_STATE)) {
- res = _FAIL;
- goto exit;
- }
+ if ((pattrib->ether_type != 0x888e) && !check_fwstate(pmlmepriv, WIFI_MP_STATE))
+ return _FAIL;
} else {
GET_ENCRY_ALGO(psecuritypriv, psta, pattrib->encrypt, bmcast);
@@ -560,10 +557,8 @@ static s32 update_attrib_sec_info(struct adapter *padapter, struct pkt_attrib *p
pattrib->iv_len = 8;
pattrib->icv_len = 4;
- if (psecuritypriv->busetkipkey == _FAIL) {
- res = _FAIL;
- goto exit;
- }
+ if (psecuritypriv->busetkipkey == _FAIL)
+ return _FAIL;
if (bmcast)
TKIP_IV(pattrib->iv, psta->dot11txpn, pattrib->key_idx);
@@ -601,9 +596,7 @@ static s32 update_attrib_sec_info(struct adapter *padapter, struct pkt_attrib *p
else
pattrib->bswenc = false;
-exit:
-
- return res;
+ return _SUCCESS;
}
u8 qos_acm(u8 acm_mask, u8 priority)
--
2.43.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v4 2/4] staging: rtl8723bs: simplify update_attrib control flow
2026-07-07 11:24 [PATCH v4 0/4] staging: rtl8723bs: convert update_attrib path to errno Hungyu Lin
2026-07-07 11:25 ` [PATCH v4 1/4] staging: rtl8723bs: simplify update_attrib_sec_info control flow Hungyu Lin
@ 2026-07-07 11:25 ` Hungyu Lin
2026-07-07 11:25 ` [PATCH v4 3/4] staging: rtl8723bs: convert update_attrib_sec_info to return errno Hungyu Lin
2026-07-07 11:25 ` [PATCH v4 4/4] staging: rtl8723bs: convert update_attrib " Hungyu Lin
3 siblings, 0 replies; 5+ messages in thread
From: Hungyu Lin @ 2026-07-07 11:25 UTC (permalink / raw)
To: gregkh
Cc: error27, khomenkov, khushalchitturi, s9430939, marcosandrade95963,
linux-staging, linux-kernel, Hungyu Lin
Replace goto-based error handling with direct returns and
remove the temporary res variable.
No functional change.
Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
---
drivers/staging/rtl8723bs/core/rtw_xmit.c | 22 +++++++---------------
1 file changed, 7 insertions(+), 15 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c
index 6ab91de472b0..69b6d3a2554a 100644
--- a/drivers/staging/rtl8723bs/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c
@@ -664,7 +664,6 @@ static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct p
struct sta_priv *pstapriv = &padapter->stapriv;
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct qos_priv *pqospriv = &pmlmepriv->qospriv;
- signed int res = _SUCCESS;
int ret;
_rtw_open_pktfile(pkt, &pktfile);
@@ -741,19 +740,15 @@ static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct p
psta = rtw_get_bcmc_stainfo(padapter);
} else {
psta = rtw_get_stainfo(pstapriv, pattrib->ra);
- if (!psta) { /* if we cannot get psta => drop the pkt */
- res = _FAIL;
- goto exit;
- } else if (check_fwstate(pmlmepriv, WIFI_AP_STATE) && !(psta->state & _FW_LINKED)) {
- res = _FAIL;
- goto exit;
- }
+ if (!psta) /* if we cannot get psta => drop the pkt */
+ return _FAIL;
+ else if (check_fwstate(pmlmepriv, WIFI_AP_STATE) && !(psta->state & _FW_LINKED))
+ return _FAIL;
}
if (!psta) {
/* if we cannot get psta => drop the pkt */
- res = _FAIL;
- goto exit;
+ return _FAIL;
}
if (!(psta->state & _FW_LINKED))
@@ -762,8 +757,7 @@ static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct p
spin_lock_bh(&psta->lock);
if (update_attrib_sec_info(padapter, pattrib, psta) == _FAIL) {
spin_unlock_bh(&psta->lock);
- res = _FAIL;
- goto exit;
+ return _FAIL;
}
update_attrib_phy_info(padapter, pattrib, psta);
@@ -799,9 +793,7 @@ static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct p
}
/* pattrib->priority = 5; force to used VI queue, for testing */
-
-exit:
- return res;
+ return _SUCCESS;
}
static s32 xmitframe_addmic(struct adapter *padapter, struct xmit_frame *pxmitframe)
--
2.43.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v4 3/4] staging: rtl8723bs: convert update_attrib_sec_info to return errno
2026-07-07 11:24 [PATCH v4 0/4] staging: rtl8723bs: convert update_attrib path to errno Hungyu Lin
2026-07-07 11:25 ` [PATCH v4 1/4] staging: rtl8723bs: simplify update_attrib_sec_info control flow Hungyu Lin
2026-07-07 11:25 ` [PATCH v4 2/4] staging: rtl8723bs: simplify update_attrib " Hungyu Lin
@ 2026-07-07 11:25 ` Hungyu Lin
2026-07-07 11:25 ` [PATCH v4 4/4] staging: rtl8723bs: convert update_attrib " Hungyu Lin
3 siblings, 0 replies; 5+ messages in thread
From: Hungyu Lin @ 2026-07-07 11:25 UTC (permalink / raw)
To: gregkh
Cc: error27, khomenkov, khushalchitturi, s9430939, marcosandrade95963,
linux-staging, linux-kernel, Hungyu Lin
Convert update_attrib_sec_info() to return 0 on success and
a negative errno on failure.
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 69b6d3a2554a..066f6e974e4e 100644
--- a/drivers/staging/rtl8723bs/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c
@@ -505,7 +505,7 @@ static void update_attrib_phy_info(struct adapter *padapter, struct pkt_attrib *
pattrib->retry_ctrl = false;
}
-static s32 update_attrib_sec_info(struct adapter *padapter, struct pkt_attrib *pattrib, struct sta_info *psta)
+static int update_attrib_sec_info(struct adapter *padapter, struct pkt_attrib *pattrib, struct sta_info *psta)
{
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct security_priv *psecuritypriv = &padapter->securitypriv;
@@ -519,7 +519,7 @@ static s32 update_attrib_sec_info(struct adapter *padapter, struct pkt_attrib *p
pattrib->encrypt = 0;
if ((pattrib->ether_type != 0x888e) && !check_fwstate(pmlmepriv, WIFI_MP_STATE))
- return _FAIL;
+ return -EINVAL;
} else {
GET_ENCRY_ALGO(psecuritypriv, psta, pattrib->encrypt, bmcast);
@@ -558,7 +558,7 @@ static s32 update_attrib_sec_info(struct adapter *padapter, struct pkt_attrib *p
pattrib->icv_len = 4;
if (psecuritypriv->busetkipkey == _FAIL)
- return _FAIL;
+ return -EINVAL;
if (bmcast)
TKIP_IV(pattrib->iv, psta->dot11txpn, pattrib->key_idx);
@@ -596,7 +596,7 @@ static s32 update_attrib_sec_info(struct adapter *padapter, struct pkt_attrib *p
else
pattrib->bswenc = false;
- return _SUCCESS;
+ return 0;
}
u8 qos_acm(u8 acm_mask, u8 priority)
@@ -755,7 +755,8 @@ static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct p
return _FAIL;
spin_lock_bh(&psta->lock);
- if (update_attrib_sec_info(padapter, pattrib, psta) == _FAIL) {
+ ret = update_attrib_sec_info(padapter, pattrib, psta);
+ if (ret) {
spin_unlock_bh(&psta->lock);
return _FAIL;
}
--
2.43.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v4 4/4] staging: rtl8723bs: convert update_attrib to return errno
2026-07-07 11:24 [PATCH v4 0/4] staging: rtl8723bs: convert update_attrib path to errno Hungyu Lin
` (2 preceding siblings ...)
2026-07-07 11:25 ` [PATCH v4 3/4] staging: rtl8723bs: convert update_attrib_sec_info to return errno Hungyu Lin
@ 2026-07-07 11:25 ` Hungyu Lin
3 siblings, 0 replies; 5+ messages in thread
From: Hungyu Lin @ 2026-07-07 11:25 UTC (permalink / raw)
To: gregkh
Cc: error27, khomenkov, khushalchitturi, s9430939, marcosandrade95963,
linux-staging, linux-kernel, Hungyu Lin
Convert update_attrib() to return 0 on success and a
negative errno on failure. Update rtw_xmit() to handle
the returned error code.
No functional change intended.
Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
---
drivers/staging/rtl8723bs/core/rtw_xmit.c | 21 ++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c
index 066f6e974e4e..4d886a35f4c8 100644
--- a/drivers/staging/rtl8723bs/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c
@@ -654,7 +654,7 @@ static int set_qos(struct pkt_file *ppktfile, struct pkt_attrib *pattrib)
return 0;
}
-static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct pkt_attrib *pattrib)
+static int update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct pkt_attrib *pattrib)
{
struct pkt_file pktfile;
struct sta_info *psta = NULL;
@@ -741,24 +741,24 @@ static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct p
} else {
psta = rtw_get_stainfo(pstapriv, pattrib->ra);
if (!psta) /* if we cannot get psta => drop the pkt */
- return _FAIL;
+ return -EINVAL;
else if (check_fwstate(pmlmepriv, WIFI_AP_STATE) && !(psta->state & _FW_LINKED))
- return _FAIL;
+ return -EINVAL;
}
if (!psta) {
/* if we cannot get psta => drop the pkt */
- return _FAIL;
+ return -EINVAL;
}
if (!(psta->state & _FW_LINKED))
- return _FAIL;
+ return -EINVAL;
spin_lock_bh(&psta->lock);
ret = update_attrib_sec_info(padapter, pattrib, psta);
if (ret) {
spin_unlock_bh(&psta->lock);
- return _FAIL;
+ return ret;
}
update_attrib_phy_info(padapter, pattrib, psta);
@@ -794,7 +794,7 @@ static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct p
}
/* pattrib->priority = 5; force to used VI queue, for testing */
- return _SUCCESS;
+ return 0;
}
static s32 xmitframe_addmic(struct adapter *padapter, struct xmit_frame *pxmitframe)
@@ -1955,7 +1955,7 @@ s32 rtw_xmit(struct adapter *padapter, struct sk_buff **ppkt)
struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
struct xmit_frame *pxmitframe = NULL;
- s32 res;
+ int ret;
if (start == 0)
start = jiffies;
@@ -1968,9 +1968,8 @@ s32 rtw_xmit(struct adapter *padapter, struct sk_buff **ppkt)
if (!pxmitframe)
return -1;
- res = update_attrib(padapter, *ppkt, &pxmitframe->attrib);
-
- if (res != _SUCCESS) {
+ ret = update_attrib(padapter, *ppkt, &pxmitframe->attrib);
+ if (ret) {
rtw_free_xmitframe(pxmitpriv, pxmitframe);
return -1;
}
--
2.43.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-07-07 11:25 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-07 11:24 [PATCH v4 0/4] staging: rtl8723bs: convert update_attrib path to errno Hungyu Lin
2026-07-07 11:25 ` [PATCH v4 1/4] staging: rtl8723bs: simplify update_attrib_sec_info control flow Hungyu Lin
2026-07-07 11:25 ` [PATCH v4 2/4] staging: rtl8723bs: simplify update_attrib " Hungyu Lin
2026-07-07 11:25 ` [PATCH v4 3/4] staging: rtl8723bs: convert update_attrib_sec_info to return errno Hungyu Lin
2026-07-07 11:25 ` [PATCH v4 4/4] staging: rtl8723bs: convert update_attrib " Hungyu Lin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox