It's sufficient to check pwrpriv->ps_processing as part of the while-loop. Signed-off-by: Martin Kaiser <martin@xxxxxxxxx> --- drivers/staging/r8188eu/core/rtw_pwrctrl.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_pwrctrl.c b/drivers/staging/r8188eu/core/rtw_pwrctrl.c index 6a40f4a251c7..fd7ea83968ed 100644 --- a/drivers/staging/r8188eu/core/rtw_pwrctrl.c +++ b/drivers/staging/r8188eu/core/rtw_pwrctrl.c @@ -382,10 +382,8 @@ int rtw_pwr_wakeup(struct adapter *padapter) if (pwrpriv->ips_deny_time < jiffies + rtw_ms_to_systime(ips_deffer_ms)) pwrpriv->ips_deny_time = jiffies + rtw_ms_to_systime(ips_deffer_ms); - if (pwrpriv->ps_processing) { - while (pwrpriv->ps_processing && rtw_get_passing_time_ms(start) <= 3000) - msleep(10); - } + while (pwrpriv->ps_processing && rtw_get_passing_time_ms(start) <= 3000) + msleep(10); /* System suspend is not allowed to wakeup */ while (pwrpriv->bInSuspend && rtw_get_passing_time_ms(start) <= 3000) -- 2.30.2