summaryrefslogtreecommitdiff
path: root/common/power_button_x86.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/power_button_x86.c')
-rw-r--r--common/power_button_x86.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/common/power_button_x86.c b/common/power_button_x86.c
index 19870e0e49..79fdeea82f 100644
--- a/common/power_button_x86.c
+++ b/common/power_button_x86.c
@@ -204,9 +204,14 @@ static void set_initial_pwrbtn_state(void)
chipset_in_state(CHIPSET_STATE_ON)) {
/*
* Jumped to this image while the chipset was already on, so
- * simply reflect the actual power button state.
+ * simply reflect the actual power button state unless power
+ * button pulse is disabled. If power button SMI pulse is
+ * enabled, then it should be honored, else setting power
+ * button to PCH could lead to x86 platform shutting down. If
+ * power button is still held by the time control reaches
+ * state_machine(), it would take the appropriate action there.
*/
- if (power_button_is_pressed()) {
+ if (power_button_is_pressed() && power_button_pulse_enabled) {
CPRINTS("PB init-jumped-held");
set_pwrbtn_to_pch(0, 0);
} else {