summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--EdkModulePkg/Core/DxeIplPeim/DxeLoad.c9
-rw-r--r--EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c9
2 files changed, 14 insertions, 4 deletions
diff --git a/EdkModulePkg/Core/DxeIplPeim/DxeLoad.c b/EdkModulePkg/Core/DxeIplPeim/DxeLoad.c
index 5ec81b2534..8e1aeedac2 100644
--- a/EdkModulePkg/Core/DxeIplPeim/DxeLoad.c
+++ b/EdkModulePkg/Core/DxeIplPeim/DxeLoad.c
@@ -320,7 +320,10 @@ Returns:
ASSERT_EFI_ERROR (Status);
Status = PeiRecovery->LoadRecoveryCapsule (PeiServices, PeiRecovery);
- ASSERT_EFI_ERROR (Status);
+ if (EFI_ERROR (Status)) {
+ DEBUG ((EFI_D_ERROR, "Load Recovery Capsule Failed.(Status = %r)\n", Status));
+ CpuDeadLoop ();
+ }
//
// Now should have a HOB with the DXE core w/ the old HOB destroyed
@@ -405,8 +408,10 @@ Returns:
//
// If we get here, then the DXE Core returned. This is an error
+ // Dxe Core should not return.
//
- ASSERT_EFI_ERROR (Status);
+ ASSERT (FALSE);
+ CpuDeadLoop ();
return EFI_OUT_OF_RESOURCES;
}
diff --git a/EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c b/EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c
index 023924c6c8..9a036e6246 100644
--- a/EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c
+++ b/EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c
@@ -282,7 +282,10 @@ Returns:
ASSERT_EFI_ERROR (Status);
Status = PeiRecovery->LoadRecoveryCapsule (PeiServices, PeiRecovery);
- ASSERT_EFI_ERROR (Status);
+ if (EFI_ERROR (Status)) {
+ DEBUG ((EFI_D_ERROR, "Load Recovery Capsule Failed.(Status = %r)\n", Status));
+ CpuDeadLoop ();
+ }
}
//
@@ -362,8 +365,10 @@ Returns:
//
// If we get here, then the DXE Core returned. This is an error
+ // Dxe Core should not return.
//
- ASSERT_EFI_ERROR (Status);
+ ASSERT (FALSE);
+ CpuDeadLoop ();
return EFI_OUT_OF_RESOURCES;
}