Remove the redundant first 'if' statement of two identical ones. In rtw_cmd_thread() there are two identical 'if' statement, one immediately after the other. They check whether or not the device is removed or the driver is stopped and, if true, they break a 'while' loop. The only noteworthy context difference is that the second statement is within a block labelled "_next". The code has a 'goto' to the "_next" label so that the checking is performed each time the above directive is encountered. Instead, the first 'if' is before the "_next" label. One of the two must be removed and that it must be the one before the label because "bSurpriseRemoved" as well as "bDriverStopped" may be changed asynchronously by other code of the driver and so they should be checked at each jump to "_next". Tested with "ASUSTek Computer, Inc. Realtek 8188EUS [USB-N10 Nano]". Acked-by: Martin Kaiser <martin@xxxxxxxxx> Acked-by: Phillip Potter <phil@xxxxxxxxxxxxxxxx> Signed-off-by: Fabio M. De Francesco <fmdefrancesco@xxxxxxxxx> --- drivers/staging/r8188eu/core/rtw_cmd.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_cmd.c b/drivers/staging/r8188eu/core/rtw_cmd.c index 3b07328704bb..5d5f25364b2f 100644 --- a/drivers/staging/r8188eu/core/rtw_cmd.c +++ b/drivers/staging/r8188eu/core/rtw_cmd.c @@ -252,12 +252,6 @@ int rtw_cmd_thread(void *context) while (1) { wait_for_completion(&pcmdpriv->enqueue_cmd); - if (padapter->bDriverStopped || - padapter->bSurpriseRemoved) { - DBG_88E("%s: DriverStopped(%d) SurpriseRemoved(%d) break at line %d\n", - __func__, padapter->bDriverStopped, padapter->bSurpriseRemoved, __LINE__); - break; - } _next: if (padapter->bDriverStopped || padapter->bSurpriseRemoved) { -- 2.33.0