|
@@ -68,7 +68,7 @@ void wl1251_ps_elp_sleep(struct wl1251 *wl)
|
|
|
|
|
|
int wl1251_ps_elp_wakeup(struct wl1251 *wl)
|
|
|
{
|
|
|
- unsigned long timeout;
|
|
|
+ unsigned long timeout, start;
|
|
|
u32 elp_reg;
|
|
|
|
|
|
if (!wl->elp)
|
|
@@ -76,6 +76,7 @@ int wl1251_ps_elp_wakeup(struct wl1251 *wl)
|
|
|
|
|
|
wl1251_debug(DEBUG_PSM, "waking up chip from elp");
|
|
|
|
|
|
+ start = jiffies;
|
|
|
timeout = jiffies + msecs_to_jiffies(WL1251_WAKEUP_TIMEOUT);
|
|
|
|
|
|
wl1251_write32(wl, HW_ACCESS_ELP_CTRL_REG_ADDR, ELPCTRL_WAKE_UP);
|
|
@@ -96,8 +97,7 @@ int wl1251_ps_elp_wakeup(struct wl1251 *wl)
|
|
|
}
|
|
|
|
|
|
wl1251_debug(DEBUG_PSM, "wakeup time: %u ms",
|
|
|
- jiffies_to_msecs(jiffies) -
|
|
|
- (jiffies_to_msecs(timeout) - WL1251_WAKEUP_TIMEOUT));
|
|
|
+ jiffies_to_msecs(jiffies - start));
|
|
|
|
|
|
wl->elp = false;
|
|
|
|