fix(core): let pm stabilize when resuming from suspend.
What changed, and why it matters
This is a one-line firmware change for the Trezor hardware wallet's power manager on STM32U5 chips. When the device wakes from a low-power suspend state, the code now marks the power-manager state machine as 'not yet stabilized.' This is a defensive fix: without it, the firmware might act on stale or transient power-state readings right after wakeup. The commit itself does not explain any security impact, and no public references were provided.
Treat as a routine hardening fix. Review whether any caller of pm_driver_resume() checks state_machine_stabilized before acting on power state, to confirm the flag is actually consumed. No urgent security response is warranted based solely on this diff.
Security signals we found
State-machine stabilization flag reset on resume from suspend
Low-level power-management hardening on STM32U5
No explicit security claim in commit or references
Evidence from the diff
In core/embed/sys/power_manager/stm32u5/power_manager.c, pm_driver_resume() now sets drv->state_machine_stabilized = false after resuming from suspend. This forces the power-manager state machine to re-stabilize before other logic trusts its readings. The change is purely preventive; the diff shows no crash, leak, or bypass. The commit message only says ‘let pm stabilize when resuming from suspend’ and explicitly uses [no changelog].
Changed components
Trezor Core firmwareSTM32U5 power manager drivercore/embed/sys/power_manager/stm32u5/power_manager.cInspect captured patch +1 / −0
diff --git a/core/embed/sys/power_manager/stm32u5/power_manager.c b/core/embed/sys/power_manager/stm32u5/power_manager.c
index 368e7b3d1..661727caf 100644
--- a/core/embed/sys/power_manager/stm32u5/power_manager.c
+++ b/core/embed/sys/power_manager/stm32u5/power_manager.c
@@ -658,6 +658,7 @@ bool pm_driver_resume(void) {
drv->suspended = false;
drv->suspending = false;
drv->woke_up_from_suspend = true;
+ drv->state_machine_stabilized = false;
#ifdef USE_RTC
rtc_wakeup_timer_stop();
Why this scored 29/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.