Re: [PATCH v2] staging: rtl8723bs: use errno in rtw_register_tx_alive()

From: Greg Kroah-Hartman

Date: Thu Oct 01 2026 - 07:21:22 EST


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@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;
> - }

Why are we returning success if there is an error?

thanks,

greg k-h