summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordavidcunado-arm <david.cunado@arm.com>2017-06-15 23:50:30 +0100
committerGitHub <noreply@github.com>2017-06-15 23:50:30 +0100
commit500c0edac62d863a1a14a8fb6ff628e092cafb5b (patch)
tree0346ee2dc9632702a3d2badedb08bb50b76e9541
parentb4ebf54593ea37d1c6121627461b958eca8fa045 (diff)
parentb78c402dd3eb565ac57ac5cf789fbdc83224a181 (diff)
Merge pull request #981 from soby-mathew/sm/cov_scmi
Fix coverity error in CSS SCMI driver
-rw-r--r--plat/arm/css/drivers/scp/css_pm_scmi.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/plat/arm/css/drivers/scp/css_pm_scmi.c b/plat/arm/css/drivers/scp/css_pm_scmi.c
index b4c0a7df..1ca70a24 100644
--- a/plat/arm/css/drivers/scp/css_pm_scmi.c
+++ b/plat/arm/css/drivers/scp/css_pm_scmi.c
@@ -189,7 +189,7 @@ void css_scp_off(const psci_power_state_t *target_state)
*/
void css_scp_on(u_register_t mpidr)
{
- int lvl = 0, ret;
+ int lvl = 0, ret, core_pos;
uint32_t scmi_pwr_state = 0;
for (; lvl <= PLAT_MAX_PWR_LVL; lvl++)
@@ -198,8 +198,11 @@ void css_scp_on(u_register_t mpidr)
SCMI_SET_PWR_STATE_MAX_PWR_LVL(scmi_pwr_state, lvl - 1);
+ core_pos = plat_core_pos_by_mpidr(mpidr);
+ assert(core_pos >= 0 && core_pos < PLATFORM_CORE_COUNT);
+
ret = scmi_pwr_state_set(scmi_handle,
- plat_css_core_pos_to_scmi_dmn_id_map[plat_core_pos_by_mpidr(mpidr)],
+ plat_css_core_pos_to_scmi_dmn_id_map[core_pos],
scmi_pwr_state);
if (ret != SCMI_E_QUEUED && ret != SCMI_E_SUCCESS) {