From 01e1bc28943a6bd66830e8af56665dc9e4647a08 Mon Sep 17 00:00:00 2001 From: "Jeff Brasen via groups.io" Date: Thu, 29 Jun 2023 20:46:48 +0000 Subject: ArmPkg/ArmPsciMpServices: Add EFI_NOT_READY return Add EFI_NOT_READY return if the CPU can not be enabled because the processor is already on. This can occur in normal use if the CPU is still being turned off from a previous call when this is called again. Signed-off-by: Jeff Brasen Reviewed-by: Rebecca Cran --- ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'ArmPkg/Drivers') diff --git a/ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.c b/ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.c index f822a9877c..e7f4223513 100644 --- a/ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.c +++ b/ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.c @@ -103,7 +103,9 @@ DispatchCpu ( ArmCallSmc (&Args); - if (Args.Arg0 != ARM_SMC_PSCI_RET_SUCCESS) { + if (Args.Arg0 == ARM_SMC_PSCI_RET_ALREADY_ON) { + Status = EFI_NOT_READY; + } else if (Args.Arg0 != ARM_SMC_PSCI_RET_SUCCESS) { DEBUG ((DEBUG_ERROR, "PSCI_CPU_ON call failed: %d\n", Args.Arg0)); Status = EFI_DEVICE_ERROR; } -- cgit v1.2.3