summaryrefslogtreecommitdiff
path: root/services/std_svc/psci/psci_main.c
diff options
context:
space:
mode:
authorachingupta <achin.gupta@arm.com>2014-05-01 13:16:33 +0100
committerachingupta <achin.gupta@arm.com>2014-05-01 13:16:33 +0100
commitb495bdef190acf166c713e138b61c5bb25402fc0 (patch)
treede6341f67ab68096d46043febd87966cf0f975ed /services/std_svc/psci/psci_main.c
parent429421de8297172e43b507b732e1cd6be06dfc21 (diff)
parent759ec93b6916dccca3e445e20b3bd2e20d1117d0 (diff)
Merge pull request #50 from vikramkanigiri/vk/tf-issues#26
Preserve PSCI cpu_suspend 'power_state' parameter.
Diffstat (limited to 'services/std_svc/psci/psci_main.c')
-rw-r--r--services/std_svc/psci/psci_main.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/services/std_svc/psci/psci_main.c b/services/std_svc/psci/psci_main.c
index 2d61ec08..c90929dd 100644
--- a/services/std_svc/psci/psci_main.c
+++ b/services/std_svc/psci/psci_main.c
@@ -85,6 +85,10 @@ int psci_cpu_suspend(unsigned int power_state,
unsigned long mpidr;
unsigned int target_afflvl, pstate_type;
+ /* Check SBZ bits in power state are zero */
+ if (psci_validate_power_state(power_state))
+ return PSCI_E_INVALID_PARAMS;
+
/* Sanity check the requested state */
target_afflvl = psci_get_pstate_afflvl(power_state);
if (target_afflvl > MPIDR_MAX_AFFLVL)