rockchip: rk3328: Add assert check in pmu.c
authortony.xie <tony.xie@rock-chips.com>
Mon, 15 May 2017 02:36:14 +0000 (10:36 +0800)
committertony.xie <tony.xie@rock-chips.com>
Mon, 15 May 2017 02:36:14 +0000 (10:36 +0800)
Add assert() check for cpuson_flags[] and cpuson_entry_point[].

Change-Id: I971fe54c2baa3b4514a3979042341220f5e20901
Signed-off-by: tony.xie <tony.xie@rock-chips.com>
plat/rockchip/rk3328/drivers/pmu/pmu.c

index da013ddf1cc46430340f117c1098bdbcdc0f18eb..59d399be4b614dc6b399b0f9acdef8c34f8a1908 100644 (file)
@@ -144,6 +144,7 @@ int rockchip_soc_cores_pwr_dm_on(unsigned long mpidr, uint64_t entrypoint)
 {
        uint32_t cpu_id = plat_core_pos_by_mpidr(mpidr);
 
+       assert(cpu_id < PLATFORM_CORE_COUNT);
        assert(cpuson_flags[cpu_id] == 0);
        cpuson_flags[cpu_id] = PMU_CPU_HOTPLUG;
        cpuson_entry_point[cpu_id] = entrypoint;
@@ -167,6 +168,7 @@ int rockchip_soc_cores_pwr_dm_suspend(void)
 {
        uint32_t cpu_id = plat_my_core_pos();
 
+       assert(cpu_id < PLATFORM_CORE_COUNT);
        assert(cpuson_flags[cpu_id] == 0);
        cpuson_flags[cpu_id] = PMU_CPU_AUTO_PWRDN;
        cpuson_entry_point[cpu_id] = (uintptr_t)plat_get_sec_entrypoint();