summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/main.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/common/main.c b/common/main.c
index 7f1cbc265d..e749c3e21f 100644
--- a/common/main.c
+++ b/common/main.c
@@ -201,6 +201,14 @@ test_mockable __keep int main(void)
button_init();
#endif /* defined(CONFIG_DEDICATED_RECOVERY_BUTTON | CONFIG_VOLUME_BUTTONS) */
+ /* Make sure recovery boot won't be paused. */
+ if (IS_ENABLED(CONFIG_POWER_BUTTON_INIT_IDLE)
+ && system_is_manual_recovery()
+ && (system_get_reset_flags() & EC_RESET_FLAG_AP_IDLE)) {
+ CPRINTS("Clear AP_IDLE for recovery mode");
+ system_clear_reset_flags(EC_RESET_FLAG_AP_IDLE);
+ }
+
#if defined(CONFIG_VBOOT_EFS) || defined(CONFIG_VBOOT_EFS2)
/*
* Execute PMIC reset in case we're here after watchdog reset to unwedge