diff --git a/module/power_domain/src/mod_power_domain.c b/module/power_domain/src/mod_power_domain.c index 498984d5679b3f7c68f180f258c07dfb02a15996..620e31d01bd2374fc78f6827072b36d5e6e908d5 100644 --- a/module/power_domain/src/mod_power_domain.c +++ b/module/power_domain/src/mod_power_domain.c @@ -1597,9 +1597,13 @@ static int pd_report_power_state_transition(fwk_id_t pd_id, unsigned int state) static int pd_get_last_core_pd_id(fwk_id_t *last_core_pd_id) { + bool ongoing = mod_pd_ctx.system_suspend.last_core_off_ongoing; if (last_core_pd_id == NULL) return FWK_E_PARAM; + if (!ongoing) + return FWK_E_PWRSTATE; + *last_core_pd_id = mod_pd_ctx.system_suspend.last_core_pd->id; return FWK_SUCCESS;