Ensure that system powers off S5 plane if it fails to power on S5 plane

This commit is contained in:
Jeremy Soller
2022-02-09 15:06:31 -07:00
parent c31ef33101
commit 4bab1cc00d

View File

@ -224,10 +224,12 @@ void power_on_s5(void) {
// Wait for SUSPWRDNACK validity // Wait for SUSPWRDNACK validity
tPLT01; tPLT01;
for (uint16_t i = 5000; i != 0; i--) { uint16_t i;
for (i = 0; i < 5000; i++) {
// If we reached S0, exit this loop // If we reached S0, exit this loop
update_power_state(); update_power_state();
if (power_state == POWER_STATE_S0) { if (power_state == POWER_STATE_S0) {
DEBUG("reached S0 in %d ms\n", i);
break; break;
} }
@ -240,7 +242,10 @@ void power_on_s5(void) {
delay_ms(1); delay_ms(1);
} }
update_power_state(); if (power_state != POWER_STATE_S0) {
DEBUG("failed to reach S0, powering off");
power_off_s5();
}
} }
void power_off_s5(void) { void power_off_s5(void) {