ASSERT (FALSE);\r
return EFI_ABORTED;\r
}\r
+ //\r
+ // Check the alignment of spare area address and length, they should be block size aligned\r
+ //\r
+ if (((FtwDevice->SpareAreaAddress & (FtwDevice->BlockSize - 1)) != 0) ||\r
+ ((FtwDevice->SpareAreaLength & (FtwDevice->BlockSize - 1)) != 0)) {\r
+ DEBUG ((EFI_D_ERROR, "Ftw: Spare area address or length is not block size aligned\n"));\r
+ FreePool (HandleBuffer);\r
+ //\r
+ // Report Status Code EFI_SW_EC_ABORTED.\r
+ //\r
+ REPORT_STATUS_CODE ( (EFI_ERROR_CODE | EFI_ERROR_UNRECOVERED), (EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_EC_ABORTED));\r
+ ASSERT (FALSE);\r
+ CpuDeadLoop ();\r
+ }\r
break;\r
}\r
}\r
}\r
}\r
FreePool (HandleBuffer);\r
- \r
+\r
if ((FtwDevice->FtwBackupFvb == NULL) || (FtwDevice->FtwFvBlock == NULL) ||\r
(FtwDevice->FtwWorkSpaceLba == (EFI_LBA) (-1)) || (FtwDevice->FtwSpareLba == (EFI_LBA) (-1))) {\r
return EFI_ABORTED;\r
}\r
- \r
+\r
return EFI_SUCCESS;\r
}\r
\r