public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH] ArmPkg/ArmPsciMpServices Add EFI_NOT_READY return
@ 2023-06-29 20:46 Jeff Brasen
  2023-09-07 14:17 ` [edk2-devel] " Ard Biesheuvel
  2023-10-16 22:55 ` Rebecca Cran
  0 siblings, 2 replies; 5+ messages in thread
From: Jeff Brasen @ 2023-06-29 20:46 UTC (permalink / raw)
  To: devel; +Cc: quic_llindhol, ardb+tianocore, rebecca, Jeff Brasen

Add EFI_NOT_READY return if the CPU can not be enabled if 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 <jbrasen@nvidia.com>
---
 ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

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;
   }
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-10-18  8:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-29 20:46 [PATCH] ArmPkg/ArmPsciMpServices Add EFI_NOT_READY return Jeff Brasen
2023-09-07 14:17 ` [edk2-devel] " Ard Biesheuvel
2023-10-04 14:37   ` Jeff Brasen via groups.io
2023-10-16 22:55 ` Rebecca Cran
2023-10-18  8:51   ` Ard Biesheuvel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox