bool ret = false;
 
-       if (adapter->pwrctrlpriv.ips_deny_time >= jiffies)
+       if (time_after_eq(adapter->pwrctrlpriv.ips_deny_time, jiffies))
                goto exit;
 
        if (check_fwstate(pmlmepriv, WIFI_ASOC_STATE|WIFI_SITE_MONITOR) ||
 {
        struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv;
        struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
+       unsigned long expires;
        int ret = _SUCCESS;
 
-       if (pwrpriv->ips_deny_time < jiffies + rtw_ms_to_systime(ips_deffer_ms))
+       expires = jiffies + rtw_ms_to_systime(ips_deffer_ms);
+       if (time_before(pwrpriv->ips_deny_time, expires))
                pwrpriv->ips_deny_time = jiffies + rtw_ms_to_systime(ips_deffer_ms);
 
 {
        }
 
 exit:
-       if (pwrpriv->ips_deny_time < jiffies + rtw_ms_to_systime(ips_deffer_ms))
+       expires = jiffies + rtw_ms_to_systime(ips_deffer_ms);
+       if (time_before(pwrpriv->ips_deny_time, expires))
                pwrpriv->ips_deny_time = jiffies + rtw_ms_to_systime(ips_deffer_ms);
        return ret;
 }
 
        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;