- return EFI_NOT_FOUND;\r
- }\r
- //\r
- // Return the base of the block descriptors\r
- //\r
- HeadBlock = (EFI_CAPSULE_BLOCK_DESCRIPTOR *)(UINTN)BlockListBuffer[Index];\r
- } else { \r
- //\r
- // Test integrity of descriptors.\r
- //\r
- TempBlock = ValidateCapsuleIntegrity ((EFI_CAPSULE_BLOCK_DESCRIPTOR *)(UINTN)BlockListBuffer[Index]);\r
- if (TempBlock == NULL) {\r
- return EFI_NOT_FOUND;\r
+ LastBlock = TempBlock;\r
+\r
+ //\r
+ // Return the base of the block descriptors\r
+ //\r
+ HeadBlock = (EFI_CAPSULE_BLOCK_DESCRIPTOR *)(UINTN)BlockListBuffer[Index];\r
+ } else {\r
+ //\r
+ // Combine the different BlockList into single BlockList.\r
+ //\r
+ LastBlock->Union.DataBlock = (EFI_PHYSICAL_ADDRESS)(UINTN)BlockListBuffer[Index];\r
+ LastBlock->Length = 0;\r
+ LastBlock = TempBlock;\r