diff --git a/src/board/system76/common/include/board/power.h b/src/board/system76/common/include/board/power.h index d6771b2..f1a59aa 100644 --- a/src/board/system76/common/include/board/power.h +++ b/src/board/system76/common/include/board/power.h @@ -11,6 +11,7 @@ enum PowerState { }; extern enum PowerState power_state; +void update_power_state(void); void power_init(void); void power_on(void); diff --git a/src/board/system76/common/peci.c b/src/board/system76/common/peci.c index 90e476f..af3a9fd 100644 --- a/src/board/system76/common/peci.c +++ b/src/board/system76/common/peci.c @@ -69,6 +69,9 @@ void peci_init(void) {} // Returns true if peci is available bool peci_available(void) { + // Ensure power state is up to date + update_power_state(); + // Power state must be S0 for PECI to be useful if (power_state != POWER_STATE_S0) return false; @@ -259,6 +262,9 @@ void peci_init(void) { // Returns true if peci is available bool peci_available(void) { + // Ensure power state is up to date + update_power_state(); + // Power state must be S0 for PECI to be useful if (power_state != POWER_STATE_S0) return false;