- continue;\r
- }\r
- //\r
- // The entry has a valid function pointer.\r
- // Keep calling the function and logging data until there\r
- // is no more data to log.\r
- //\r
- for (;;) {\r
- Status = (*mMiscSubclassDataTable[Index].Function)(mMiscSubclassDataTable[Index].RecordType, &mMiscSubclassDataTable[Index].RecordLen, &RecordData.Record, &LogRecordData);\r
- if (EFI_ERROR (Status)) {\r
- break;\r
- }\r
-\r
- if (!LogRecordData) {\r
- break;\r
- }\r
-\r
- Status = DataHub->LogData (\r
- DataHub,\r
- &gEfiMiscSubClassGuid,\r
- &gEfiMiscSubClassGuid,\r
- EFI_DATA_RECORD_CLASS_DATA,\r
- &RecordData,\r
- sizeof (EFI_SUBCLASS_TYPE1_HEADER) + mMiscSubclassDataTable[Index].RecordLen\r
- );\r
-\r
- if (EFI_ERROR (Status)) {\r
- DEBUG (\r
- (EFI_D_ERROR,\r
- "LogData(%d bytes) == %r\n",\r
- sizeof (EFI_SUBCLASS_TYPE1_HEADER) + mMiscSubclassDataTable[Index].RecordLen,\r
- Status)\r
- );\r
+ if (EFI_ERROR(EfiStatus)) {\r
+ DEBUG((EFI_D_ERROR, "Misc smbios store error. Index=%d, ReturnStatus=%r\n", Index, EfiStatus));\r
+ return EfiStatus;\r