rtw_start_drv_threads starts a cmdthread that runs in a loop. It reads a command from a queue and processes it. There's no need for any synchronization when this thread is started. Signed-off-by: Martin Kaiser <martin@xxxxxxxxx> --- drivers/staging/rtl8188eu/core/rtw_cmd.c | 1 - drivers/staging/rtl8188eu/os_dep/os_intfs.c | 3 --- 2 files changed, 4 deletions(-) diff --git a/drivers/staging/rtl8188eu/core/rtw_cmd.c b/drivers/staging/rtl8188eu/core/rtw_cmd.c index 61d0342c76fc..955899f334e6 100644 --- a/drivers/staging/rtl8188eu/core/rtw_cmd.c +++ b/drivers/staging/rtl8188eu/core/rtw_cmd.c @@ -181,7 +181,6 @@ int rtw_cmd_thread(void *context) allow_signal(SIGTERM); pcmdpriv->cmdthd_running = true; - complete(&pcmdpriv->terminate_cmdthread_comp); RT_TRACE(_module_rtl871x_cmd_c_, _drv_info_, ("start r871x %s !!!!\n", __func__)); diff --git a/drivers/staging/rtl8188eu/os_dep/os_intfs.c b/drivers/staging/rtl8188eu/os_dep/os_intfs.c index 55ed721994a0..193895338cf0 100644 --- a/drivers/staging/rtl8188eu/os_dep/os_intfs.c +++ b/drivers/staging/rtl8188eu/os_dep/os_intfs.c @@ -330,9 +330,6 @@ static int rtw_start_drv_threads(struct adapter *padapter) "RTW_CMD_THREAD"); if (IS_ERR(padapter->cmdThread)) err = PTR_ERR(padapter->cmdThread); - else - /* wait for cmd_thread to run */ - wait_for_completion_interruptible(&padapter->cmdpriv.terminate_cmdthread_comp); return err; } -- 2.20.1