diff options
Diffstat (limited to 'FatPkg/EnhancedFatDxe/Init.c')
-rw-r--r-- | FatPkg/EnhancedFatDxe/Init.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/FatPkg/EnhancedFatDxe/Init.c b/FatPkg/EnhancedFatDxe/Init.c index 8563b950a4..9c51ed5b7b 100644 --- a/FatPkg/EnhancedFatDxe/Init.c +++ b/FatPkg/EnhancedFatDxe/Init.c @@ -62,22 +62,24 @@ FatAllocateVolume ( Volume->RootDirEnt.FileString = Volume->RootFileString;
Volume->RootDirEnt.Entry.Attributes = FAT_ATTRIBUTE_DIRECTORY;
- //
- // Check to see if the underlying block device's BlockSize meets what the FAT spec requires
- //
if ((BlockIo == NULL) || (BlockIo->Media == NULL)) {
DEBUG ((DEBUG_ERROR, "%a BlockIo or BlockIo is NULL!\n", __func__));
Status = EFI_INVALID_PARAMETER;
goto Done;
}
- if ((BlockIo->Media->BlockSize > (1 << MAX_BLOCK_ALIGNMENT)) ||
- (BlockIo->Media->BlockSize < (1 << MIN_BLOCK_ALIGNMENT)))
+ //
+ // Check to see if the underlying block device's BlockSize meets what the FAT spec requires
+ //
+ if ((BlockIo->Media->BlockSize != 512) &&
+ (BlockIo->Media->BlockSize != SIZE_1KB) &&
+ (BlockIo->Media->BlockSize != SIZE_2KB) &&
+ (BlockIo->Media->BlockSize != SIZE_4KB))
{
Status = EFI_UNSUPPORTED;
DEBUG ((
DEBUG_ERROR,
- "%a invalid BlockIo BlockSize %u for FAT filesystem on MediaId %u. Min 512b, max 4kb\n",
+ "%a invalid BlockIo BlockSize %u for FAT filesystem on MediaId %u. Must be 512B, 1KB, 2KB, or 4KB\n",
__func__,
BlockIo->Media->BlockSize,
BlockIo->Media->MediaId
|