staging: r8188eu: remove the bInSuspend loop
authorMartin Kaiser <martin@kaiser.cx>
Wed, 13 Apr 2022 19:36:53 +0000 (21:36 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 14 Apr 2022 07:06:59 +0000 (09:06 +0200)
Remove the loop in rtw_pwr_wakeup that waits while the system is
suspended.

pwrpriv->bInSuspend is set in rtw_suspend and cleared in rtw_resume. These
functions are the .suspend and .resume functions of the struct usb_driver
for r8188eu.

A usb_driver's suspend and resume functions are called when the entire
system goes into suspend or runtime suspend.

All of the code paths for rtw_pwr_wakeup start at ioctl handlers.

We can remove the loop that checks bInSuspend. It's not possible to call
an ioctl while the entire system is suspended.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20220413193654.258507-8-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/core/rtw_pwrctrl.c

index 605210d..6990808 100644 (file)
@@ -379,10 +379,6 @@ int rtw_pwr_wakeup(struct adapter *padapter)
        while (pwrpriv->ps_processing && time_before(jiffies, timeout))
                msleep(10);
 
-       /* System suspend is not allowed to wakeup */
-       while (pwrpriv->bInSuspend && time_before(jiffies, timeout))
-               msleep(10);
-
        /* I think this should be check in IPS, LPS, autosuspend functions... */
        if (check_fwstate(pmlmepriv, _FW_LINKED)) {
                ret = _SUCCESS;