summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/x86_power.c6
-rw-r--r--include/task.h3
2 files changed, 8 insertions, 1 deletions
diff --git a/common/x86_power.c b/common/x86_power.c
index 4d9f5bbcfe..1a31749cd2 100644
--- a/common/x86_power.c
+++ b/common/x86_power.c
@@ -446,8 +446,12 @@ void x86_power_task(void)
system_hibernate(0, 0);
}
else {
+ uint64_t wait = target_time - time_now;
+ if (wait > TASK_MAX_WAIT_US)
+ wait = TASK_MAX_WAIT_US;
+
/* Wait for a message */
- task_wait_event(target_time - time_now);
+ task_wait_event(wait);
}
}
diff --git a/include/task.h b/include/task.h
index 1a7fb1b86f..ff3fe30f60 100644
--- a/include/task.h
+++ b/include/task.h
@@ -26,6 +26,9 @@
*/
#define TASK_EVENT_TIMER (1U << 31)
+/* Maximum time for task_wait_event() */
+#define TASK_MAX_WAIT_US 0x7fffffff
+
/**
* Disable CPU interrupt bit.
*