diff --git a/plat/arm/board/arm_fpga/fpga_pm.c b/plat/arm/board/arm_fpga/fpga_pm.c index 4c372179f0b23c65ab8dcd31c176f86ee8904c16..a306a23d4a6c77b6f7142a7b87b105e345a9f827 100644 --- a/plat/arm/board/arm_fpga/fpga_pm.c +++ b/plat/arm/board/arm_fpga/fpga_pm.c @@ -41,9 +41,13 @@ uintptr_t fpga_sec_entrypoint; */ static int fpga_pwr_domain_on(u_register_t mpidr) { - unsigned int pos = plat_core_pos_by_mpidr(mpidr); + int pos = plat_core_pos_by_mpidr(mpidr); unsigned long current_mpidr = read_mpidr_el1(); + if (pos < 0) { + panic(); + } + if (mpidr == current_mpidr) { return PSCI_E_ALREADY_ON; }