summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSoby Mathew <soby.mathew@arm.com>2018-09-10 12:44:56 +0100
committerGitHub <noreply@github.com>2018-09-10 12:44:56 +0100
commit441b1e8df763ff382877e2a8798546f7e83a40e4 (patch)
tree02d9b83a217f6e269f6b0c611bb36cc7c05befcb
parent4728900fa793ac14f95c1b15a37ad61e2975f4d7 (diff)
parentd4ee9aa6cd3ed80593a832cab393c615b5723dfe (diff)
Merge pull request #1569 from soby-mathew/sm/cov_fix_scmiv1.6-rc0
CSS: Fix overrun if system power level is not available
-rw-r--r--plat/arm/css/drivers/scp/css_pm_scmi.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/plat/arm/css/drivers/scp/css_pm_scmi.c b/plat/arm/css/drivers/scp/css_pm_scmi.c
index cb39da27..258c1c29 100644
--- a/plat/arm/css/drivers/scp/css_pm_scmi.c
+++ b/plat/arm/css/drivers/scp/css_pm_scmi.c
@@ -105,8 +105,7 @@ void css_scp_suspend(const struct psci_power_state *target_state)
* If we reach here, then assert that power down at system power domain
* level is running.
*/
- assert(target_state->pwr_domain_state[CSS_SYSTEM_PWR_DMN_LVL] ==
- ARM_LOCAL_STATE_RUN);
+ assert(css_system_pwr_state(target_state) == ARM_LOCAL_STATE_RUN);
/* For level 0, specify `scmi_power_state_sleep` as the power state */
SCMI_SET_PWR_STATE_LVL(scmi_pwr_state, ARM_PWR_LVL0,
@@ -154,8 +153,7 @@ void css_scp_off(const struct psci_power_state *target_state)
ARM_LOCAL_STATE_OFF);
/* PSCI CPU OFF cannot be used to turn OFF system power domain */
- assert(target_state->pwr_domain_state[CSS_SYSTEM_PWR_DMN_LVL] ==
- ARM_LOCAL_STATE_RUN);
+ assert(css_system_pwr_state(target_state) == ARM_LOCAL_STATE_RUN);
for (; lvl <= PLAT_MAX_PWR_LVL; lvl++) {
if (target_state->pwr_domain_state[lvl] == ARM_LOCAL_STATE_RUN)