]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Universal/StatusCode/Pei/MemoryStausCodeWorker.c
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10612 6f19259b...
[mirror_edk2.git] / IntelFrameworkModulePkg / Universal / StatusCode / Pei / MemoryStausCodeWorker.c
index e767e6b147d2469890e4c2e9b818165542c3d561..34ccc795289e02d14d0a1091823652f2f37577b2 100644 (file)
@@ -104,11 +104,10 @@ MemoryStatusCodeReportWorker (
   PacketIndex = 0;\r
 \r
   //\r
-  // Journal GUID'ed HOBs to find empty record entry. if found, then save status code in it.\r
-  // otherwise, create a new GUID'ed HOB.\r
+  // Journal GUID'ed HOBs to find empty record entry. \r
   //\r
   Hob.Raw = GetFirstGuidHob (&gMemoryStatusCodeRecordGuid);\r
-  while (Hob.Raw != NULL) {\r
+  while ((Hob.Raw = GetNextGuidHob (&gMemoryStatusCodeRecordGuid, Hob.Raw)) != NULL) {\r
     PacketHeader = (MEMORY_STATUSCODE_PACKET_HEADER *) GET_GUID_HOB_DATA (Hob.Guid);\r
 \r
     //\r
@@ -124,17 +123,14 @@ MemoryStatusCodeReportWorker (
     //\r
     PacketIndex++;\r
 \r
-    Hob.Raw = GetNextGuidHob (&gMemoryStatusCodeRecordGuid, Hob.Raw);\r
+    Hob.Raw = GET_NEXT_HOB (Hob);\r
   }\r
 \r
   if (Record == NULL) {\r
     //\r
-    // No available entry found, so create new packet.\r
+    // No available entry found\r
     //\r
-    PacketHeader = CreateMemoryStatusCodePacket (PacketIndex);\r
-\r
-    Record = (MEMORY_STATUSCODE_RECORD *) (PacketHeader + 1);\r
-    Record = &Record[PacketHeader->RecordIndex++];\r
+    return EFI_OUT_OF_RESOURCES;\r
   }\r
 \r
   Record->CodeType = CodeType;\r