arm64: psci: fix cpu_suspend to check idle state type for index
authorAmit Daniel Kachhap <amit.daniel@samsung.com>
Thu, 30 Oct 2014 12:24:51 +0000 (12:24 +0000)
committerWill Deacon <will.deacon@arm.com>
Thu, 30 Oct 2014 16:29:07 +0000 (16:29 +0000)
This fix rectifies the psci cpu_suspend implementation to check the
PSCI power state parameter type field associated with the requested idle
state index.

Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Amit Daniel Kachhap <amit.daniel@samsung.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/kernel/psci.c

index 866c1c8..663da77 100644 (file)
@@ -528,7 +528,7 @@ static int __maybe_unused cpu_psci_cpu_suspend(unsigned long index)
        if (WARN_ON_ONCE(!index))
                return -EINVAL;
 
-       if (state->type == PSCI_POWER_STATE_TYPE_STANDBY)
+       if (state[index - 1].type == PSCI_POWER_STATE_TYPE_STANDBY)
                ret = psci_ops.cpu_suspend(state[index - 1], 0);
        else
                ret = __cpu_suspend(index, psci_suspend_finisher);