2022-11-06 13:45:50

by Michael Straube

[permalink] [raw]
Subject: [PATCH] staging: r8188eu: clean up error handling in rtw_start_drv_threads()

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.

Signed-off-by: Michael Straube <[email protected]>
---
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



2022-11-06 15:17:34

by Deepak R Varma

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

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 <[email protected]>
> ---
> 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
>
>



2022-11-06 16:23:16

by Deepak R Varma

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

On Sun, Nov 06, 2022 at 04:34:57PM +0100, Michael Straube wrote:
> On 11/6/22 15:35, Deepak R Varma wrote:
> > 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?
> >
>
> Hi Deepak,
>
> I just used git grep to search for _FAIL or _SUCCESS and then looked at
> the code manually.
>
> Regards,
> Michael
>

Okay. That is very helpful. Thank you Michael.

./drv



2022-11-06 16:24:43

by Michael Straube

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

On 11/6/22 15:35, Deepak R Varma wrote:
> 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?
>

Hi Deepak,

I just used git grep to search for _FAIL or _SUCCESS and then looked at
the code manually.

Regards,
Michael

2022-11-07 06:27:59

by Philipp Hortmann

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

On 11/6/22 14:34, 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.
>
> Signed-off-by: Michael Straube <[email protected]>
> ---
> 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;
> }
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150