* [PATCH v2] staging: rtl8723bs: use errno in rtw_register_tx_alive()
@ 2026-10-01 10:03 Hungyu Lin
2026-10-01 11:17 ` Greg Kroah-Hartman
0 siblings, 1 reply; 4+ messages in thread
From: Hungyu Lin @ 2026-10-01 10:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Dan Carpenter, linux-staging, linux-kernel, Hungyu Lin
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@gmail.com>
---
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
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH v2] staging: rtl8723bs: use errno in rtw_register_tx_alive()
2026-10-01 10:03 [PATCH v2] staging: rtl8723bs: use errno in rtw_register_tx_alive() Hungyu Lin
@ 2026-10-01 11:17 ` Greg Kroah-Hartman
2026-10-01 11:56 ` Hungyu Lin
0 siblings, 1 reply; 4+ messages in thread
From: Greg Kroah-Hartman @ 2026-10-01 11:17 UTC (permalink / raw)
To: Hungyu Lin; +Cc: Dan Carpenter, linux-staging, linux-kernel
On Thu, Oct 01, 2026 at 10:03:19AM +0000, Hungyu Lin wrote:
> 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@gmail.com>
> ---
> 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;
> - }
Why are we returning success if there is an error?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH v2] staging: rtl8723bs: use errno in rtw_register_tx_alive()
2026-10-01 11:17 ` Greg Kroah-Hartman
@ 2026-10-01 11:56 ` Hungyu Lin
2026-10-01 12:12 ` Greg Kroah-Hartman
0 siblings, 1 reply; 4+ messages in thread
From: Hungyu Lin @ 2026-10-01 11:56 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Dan Carpenter, linux-staging, linux-kernel
> Why are we returning success if there is an error?
The original _FAIL means the firmware is not ready for TX yet.
XMIT_ALIVE has already been set, and the buffers stay queued.
cpwm_int_hdl() uses that bit to wake the TX thread once the power
state reaches S2.
_SUCCESS here lets rtw_xmit_thread() go back to waiting on xmit_comp.
Returning -EAGAIN instead would stop the thread.
I should have explained this in the commit message. Would handling
-EAGAIN explicitly here, with a comment explaining the retry, be
appropriate?
Thanks,
Hungyu Lin
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] staging: rtl8723bs: use errno in rtw_register_tx_alive()
2026-10-01 11:56 ` Hungyu Lin
@ 2026-10-01 12:12 ` Greg Kroah-Hartman
0 siblings, 0 replies; 4+ messages in thread
From: Greg Kroah-Hartman @ 2026-10-01 12:12 UTC (permalink / raw)
To: Hungyu Lin; +Cc: Dan Carpenter, linux-staging, linux-kernel
On Thu, Oct 01, 2026 at 04:56:43AM -0700, Hungyu Lin wrote:
> > Why are we returning success if there is an error?
>
> The original _FAIL means the firmware is not ready for TX yet.
> XMIT_ALIVE has already been set, and the buffers stay queued.
> cpwm_int_hdl() uses that bit to wake the TX thread once the power
> state reaches S2.
>
> _SUCCESS here lets rtw_xmit_thread() go back to waiting on xmit_comp.
> Returning -EAGAIN instead would stop the thread.
>
> I should have explained this in the commit message. Would handling
> -EAGAIN explicitly here, with a comment explaining the retry, be
> appropriate?
Please do.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-10-01 12:12 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-01 10:03 [PATCH v2] staging: rtl8723bs: use errno in rtw_register_tx_alive() Hungyu Lin
2026-10-01 11:17 ` Greg Kroah-Hartman
2026-10-01 11:56 ` Hungyu Lin
2026-10-01 12:12 ` Greg Kroah-Hartman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®