staging: r8188eu: clean up the code to set ips_deny_time
authorMartin Kaiser <martin@kaiser.cx>
Wed, 13 Apr 2022 19:36:52 +0000 (21:36 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 14 Apr 2022 07:06:59 +0000 (09:06 +0200)
Clean up the code in rtw_pwr_wakeup that sets pwrpriv->ips_deny_time.

Make ips_deny_time an unsigned long, this type is used by the kernel
functions that process jiffies.

Remove the temporary variable ips_deffer_ms and use
RTW_PWR_STATE_CHK_INTERVAL directly.

There's no need to set ips_deny_time twice, it's sufficient to set it at
the end of rtw_pwr_wakeup.

Use time_before to check if ips_deny_time should be updated.

We can now remove rtw_ms_to_systime, this function is not used any more.

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

index 2ad6105..605210d 100644 (file)
@@ -373,14 +373,8 @@ int rtw_pwr_wakeup(struct adapter *padapter)
        struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv;
        struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
        unsigned long timeout = jiffies + msecs_to_jiffies(3000);
+       unsigned long deny_time;
        int ret = _SUCCESS;
-       u32 ips_deffer_ms;
-
-       /* the ms will prevent from falling into IPS after wakeup */
-       ips_deffer_ms = RTW_PWR_STATE_CHK_INTERVAL;
-
-       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);
 
        while (pwrpriv->ps_processing && time_before(jiffies, timeout))
                msleep(10);
@@ -406,8 +400,9 @@ int rtw_pwr_wakeup(struct adapter *padapter)
        }
 
 exit:
-       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);
+       deny_time = jiffies + msecs_to_jiffies(RTW_PWR_STATE_CHK_INTERVAL);
+       if (time_before(pwrpriv->ips_deny_time, deny_time))
+               pwrpriv->ips_deny_time = deny_time;
        return ret;
 }
 
index f1f3e3b..1e55a80 100644 (file)
@@ -78,7 +78,6 @@ void *rtw_malloc2d(int h, int w, int size);
        } while (0)
 
 u32  rtw_systime_to_ms(u32 systime);
-u32  rtw_ms_to_systime(u32 ms);
 s32  rtw_get_passing_time_ms(u32 start);
 
 void rtw_usleep_os(int us);
index 3084d00..6e9fdd6 100644 (file)
@@ -56,7 +56,7 @@ struct pwrctrl_priv {
        u8      ips_mode_req;   /*  used to accept the mode setting request,
                                 *  will update to ipsmode later */
        uint bips_processing;
-       u32 ips_deny_time; /* will deny IPS when system time less than this */
+       unsigned long ips_deny_time; /* will deny IPS when system time less than this */
        u8 ps_processing; /* temp used to mark whether in rtw_ps_processor */
 
        u8      bLeisurePs;
index 6824a6a..7b177d5 100644 (file)
@@ -47,11 +47,6 @@ inline u32 rtw_systime_to_ms(u32 systime)
        return systime * 1000 / HZ;
 }
 
-inline u32 rtw_ms_to_systime(u32 ms)
-{
-       return ms * HZ / 1000;
-}
-
 /*  the input parameter start use the same unit as jiffies */
 inline s32 rtw_get_passing_time_ms(u32 start)
 {