summaryrefslogtreecommitdiff
path: root/chip/it83xx/clock.c
diff options
context:
space:
mode:
Diffstat (limited to 'chip/it83xx/clock.c')
-rw-r--r--chip/it83xx/clock.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/chip/it83xx/clock.c b/chip/it83xx/clock.c
index c3fc6ffbf4..7c3bf25844 100644
--- a/chip/it83xx/clock.c
+++ b/chip/it83xx/clock.c
@@ -488,8 +488,14 @@ void __enter_hibernate(uint32_t seconds, uint32_t microseconds)
* may not return at all. On those boards, power to the EC is likely
* being turn off entirely.
*/
- if (board_hibernate_late)
+ if (board_hibernate_late) {
+ /*
+ * Set reset flag in case board_hibernate_late() doesn't
+ * return.
+ */
+ chip_save_reset_flags(EC_RESET_FLAG_HIBERNATE);
board_hibernate_late();
+ }
if (seconds || microseconds) {
/* At least 1 ms for hibernate. */