]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/DxeIplPeim/DxeLoad.c
Check status before reporting error status code.
[mirror_edk2.git] / MdeModulePkg / Core / DxeIplPeim / DxeLoad.c
index 3bcc4b4e32ec55ba1410474eb57de4386d555b05..aa0507686b27f3ce7afaab1fc606ee2c87fd7c83 100644 (file)
@@ -241,20 +241,25 @@ DxeLoadCore (
                NULL,\r
                (VOID **) &PeiRecovery\r
                );\r
-    //\r
-    // Report Status code the failure of locating Recovery PPI \r
-    //\r
-    REPORT_STATUS_CODE (\r
-      EFI_ERROR_CODE | EFI_ERROR_MAJOR,\r
-      (EFI_SOFTWARE_PEI_MODULE | EFI_SW_PEI_EC_RECOVERY_PPI_NOT_FOUND)\r
-      );    \r
-    ASSERT_EFI_ERROR (Status);\r
+\r
+    if (EFI_ERROR (Status)) {\r
+      DEBUG ((DEBUG_ERROR, "Locate Recovery PPI Failed.(Status = %r)\n", Status));\r
+      //\r
+      // Report Status code the failure of locating Recovery PPI \r
+      //\r
+      REPORT_STATUS_CODE (\r
+        EFI_ERROR_CODE | EFI_ERROR_MAJOR,\r
+        (EFI_SOFTWARE_PEI_MODULE | EFI_SW_PEI_EC_RECOVERY_PPI_NOT_FOUND)\r
+        );\r
+      CpuDeadLoop ();\r
+    }\r
+\r
     REPORT_STATUS_CODE (EFI_PROGRESS_CODE, (EFI_SOFTWARE_PEI_MODULE | EFI_SW_PEI_PC_CAPSULE_LOAD));\r
     Status = PeiRecovery->LoadRecoveryCapsule (PeiServices, PeiRecovery);\r
     if (EFI_ERROR (Status)) {\r
       DEBUG ((DEBUG_ERROR, "Load Recovery Capsule Failed.(Status = %r)\n", Status));\r
       //\r
-      // Report Status code that S3Resume PPI can not be found\r
+      // Report Status code that recovery image can not be found\r
       //\r
       REPORT_STATUS_CODE (\r
         EFI_ERROR_CODE | EFI_ERROR_MAJOR,\r