Re: [PATCH] staging: r8188eu: clean up error handling in rtw_start_drv_threads()

From: Deepak R Varma
Date: Sun Nov 06 2022 - 09:35:51 EST


On Sun, Nov 06, 2022 at 02:34:43PM +0100, Michael Straube wrote:
> Convert the error handling in the function rtw_start_drv_threads() to
> the common logic used in the kernel. Another step to get rid of _FAIL
> and _SUCCESS which uses inverted logic.

Hello Michael,
Can you please tell how did you find this opportunity for improvement? Are you
using some tool or is it a manual code review/analysis?

Thank you,
./drv

>
> Signed-off-by: Michael Straube <straube.linux@xxxxxxxxx>
> ---
> drivers/staging/r8188eu/include/osdep_intf.h | 2 +-
> drivers/staging/r8188eu/os_dep/os_intfs.c | 17 +++++++----------
> 2 files changed, 8 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/staging/r8188eu/include/osdep_intf.h b/drivers/staging/r8188eu/include/osdep_intf.h
> index 0f7d74a3ff6d..6d66cb57225e 100644
> --- a/drivers/staging/r8188eu/include/osdep_intf.h
> +++ b/drivers/staging/r8188eu/include/osdep_intf.h
> @@ -46,7 +46,7 @@ u8 rtw_init_drv_sw(struct adapter *padapter);
> void rtw_free_drv_sw(struct adapter *padapter);
> void rtw_reset_drv_sw(struct adapter *padapter);
>
> -u32 rtw_start_drv_threads(struct adapter *padapter);
> +int rtw_start_drv_threads(struct adapter *padapter);
> void rtw_stop_drv_threads (struct adapter *padapter);
> void rtw_cancel_all_timer(struct adapter *padapter);
>
> diff --git a/drivers/staging/r8188eu/os_dep/os_intfs.c b/drivers/staging/r8188eu/os_dep/os_intfs.c
> index 970f380bac96..66556e07ed93 100644
> --- a/drivers/staging/r8188eu/os_dep/os_intfs.c
> +++ b/drivers/staging/r8188eu/os_dep/os_intfs.c
> @@ -363,18 +363,16 @@ struct net_device *rtw_init_netdev(struct adapter *old_padapter)
> return pnetdev;
> }
>
> -u32 rtw_start_drv_threads(struct adapter *padapter)
> +int rtw_start_drv_threads(struct adapter *padapter)
> {
> - u32 _status = _SUCCESS;
> -
> padapter->cmdThread = kthread_run(rtw_cmd_thread, padapter, "RTW_CMD_THREAD");
> if (IS_ERR(padapter->cmdThread))
> - _status = _FAIL;
> - else
> - /* wait for rtw_cmd_thread() to start running */
> - wait_for_completion(&padapter->cmdpriv.start_cmd_thread);
> + return PTR_ERR(padapter->cmdThread);
>
> - return _status;
> + /* wait for rtw_cmd_thread() to start running */
> + wait_for_completion(&padapter->cmdpriv.start_cmd_thread);
> +
> + return 0;
> }
>
> void rtw_stop_drv_threads(struct adapter *padapter)
> @@ -627,8 +625,7 @@ static int _netdev_open(struct net_device *pnetdev)
>
> netdev_dbg(pnetdev, "MAC Address = %pM\n", pnetdev->dev_addr);
>
> - status = rtw_start_drv_threads(padapter);
> - if (status == _FAIL) {
> + if (rtw_start_drv_threads(padapter)) {
> pr_info("Initialize driver software resource Failed!\n");
> goto netdev_open_error;
> }
> --
> 2.38.0
>
>