[PATCH v2] staging: rtl8723bs: use errno in rtw_register_tx_alive()
From: Hungyu Lin
Date: Thu Oct 01 2026 - 06:15:31 EST
rtw_register_tx_alive() uses the driver-specific _SUCCESS and _FAIL
values to report whether the transmit path can continue.
Use the usual kernel convention of returning 0 on success and -EAGAIN
when the transmit path cannot proceed yet. Update the caller
accordingly.
No functional change.
Signed-off-by: Hungyu Lin <dennylin0707@xxxxxxxxx>
---
Changes in v2:
- Use the standard 0/-errno return convention instead of bool, as
suggested by Greg.
- Return -EAGAIN when the transmit path cannot proceed yet.
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c | 13 ++++++-------
drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c | 3 +--
drivers/staging/rtl8723bs/include/rtw_pwrctrl.h | 2 +-
3 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c b/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
index 448611ad8237..00d64b2ff89e 100644
--- a/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
+++ b/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
@@ -771,13 +771,12 @@ void rtw_unregister_task_alive(struct adapter *padapter, u32 task)
* _SUCCESS rtw_xmit_thread can write fifo/txcmd afterwards.
* _FAIL rtw_xmit_thread can not do anything.
*/
-s32 rtw_register_tx_alive(struct adapter *padapter)
+int rtw_register_tx_alive(struct adapter *padapter)
{
- s32 res;
+ int ret = 0;
struct pwrctrl_priv *pwrctrl;
u8 pslv;
- res = _SUCCESS;
pwrctrl = adapter_to_pwrctl(padapter);
pslv = PS_STATE_S2;
@@ -788,7 +787,7 @@ s32 rtw_register_tx_alive(struct adapter *padapter)
if (pwrctrl->fw_current_in_ps_mode) {
if (pwrctrl->cpwm < pslv) {
if (pwrctrl->cpwm < PS_STATE_S2)
- res = _FAIL;
+ ret = -EAGAIN;
if (pwrctrl->rpwm < pslv)
rtw_set_rpwm(padapter, pslv);
}
@@ -796,11 +795,11 @@ s32 rtw_register_tx_alive(struct adapter *padapter)
mutex_unlock(&pwrctrl->lock);
- if (res == _FAIL)
+ if (ret)
if (pwrctrl->cpwm >= PS_STATE_S2)
- res = _SUCCESS;
+ ret = 0;
- return res;
+ return ret;
}
/*
diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
index 0441e84ea87d..77e5adc8731e 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
@@ -140,9 +140,8 @@ s32 rtl8723bs_xmit_buf_handler(struct adapter *padapter)
return _SUCCESS;
ret = rtw_register_tx_alive(padapter);
- if (ret != _SUCCESS) {
+ if (ret)
return _SUCCESS;
- }
do {
queue_empty = rtl8723_dequeue_writeport(padapter);
diff --git a/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h b/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
index 49f19b6ee329..a14da6c18201 100644
--- a/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
+++ b/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
@@ -217,7 +217,7 @@ void rtw_free_pwrctrl_priv(struct adapter *adapter);
s32 rtw_register_task_alive(struct adapter *adapter, u32 task);
void rtw_unregister_task_alive(struct adapter *adapter, u32 task);
-s32 rtw_register_tx_alive(struct adapter *padapter);
+int rtw_register_tx_alive(struct adapter *padapter);
void rtw_unregister_tx_alive(struct adapter *padapter);
s32 rtw_register_cmd_alive(struct adapter *padapter);
void rtw_unregister_cmd_alive(struct adapter *padapter);
--
2.43.0