Tegra186: sanity check target cluster during core power on
authorVarun Wadekar <vwadekar@nvidia.com>
Tue, 17 Oct 2017 17:29:24 +0000 (10:29 -0700)
committerVarun Wadekar <vwadekar@nvidia.com>
Wed, 23 Jan 2019 18:32:20 +0000 (10:32 -0800)
This patch sanity checks the target cluster value, during core power on,
by comparing it against the maximum number of clusters supported by the
platform.

Reported by: Rohit Khanna <rokhanna@nvidia.com>

Change-Id: Ia73ccf04bd246403de4ffff6e5c99e3b00fb98ca
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
plat/nvidia/tegra/soc/t186/plat_psci_handlers.c

index bd13dc2a1dc6a3b4f5edd497780241f8086ac094..e0b5d2b9ca309ad216c0b9d19b7e02f4b0af5999 100644 (file)
@@ -295,7 +295,7 @@ int32_t tegra_soc_pwr_domain_on(u_register_t mpidr)
        uint64_t target_cluster = (mpidr & MPIDR_CLUSTER_MASK) >>
                        MPIDR_AFFINITY_BITS;
 
-       if (target_cluster > MPIDR_AFFLVL1) {
+       if (target_cluster > ((uint32_t)PLATFORM_CLUSTER_COUNT - 1U)) {
 
                ERROR("%s: unsupported CPU (0x%lx)\n", __func__, mpidr);
                ret = PSCI_E_NOT_PRESENT;