diff options
Diffstat (limited to 'MdeModulePkg/Universal/Disk/PartitionDxe')
-rw-r--r-- | MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c b/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c index a4ddc5dc08..dd62171749 100644 --- a/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c @@ -1049,12 +1049,18 @@ PartitionInstallChildHandle ( Private->Media2.BlockSize = (UINT32) BlockSize;
//
- // Per UEFI Spec, LowestAlignedLba and LogicalBlocksPerPhysicalBlock must be 0
+ // Per UEFI Spec, LowestAlignedLba, LogicalBlocksPerPhysicalBlock and OptimalTransferLengthGranularity must be 0
// for logical partitions.
//
if (Private->BlockIo.Revision >= EFI_BLOCK_IO_PROTOCOL_REVISION2) {
- Private->BlockIo.Media->LowestAlignedLba = 0;
- Private->BlockIo.Media->LogicalBlocksPerPhysicalBlock = 0;
+ Private->BlockIo.Media->LowestAlignedLba = 0;
+ Private->BlockIo.Media->LogicalBlocksPerPhysicalBlock = 0;
+ Private->BlockIo2.Media->LowestAlignedLba = 0;
+ Private->BlockIo2.Media->LogicalBlocksPerPhysicalBlock = 0;
+ if (Private->BlockIo.Revision >= EFI_BLOCK_IO_PROTOCOL_REVISION3) {
+ Private->BlockIo.Media->OptimalTransferLengthGranularity = 0;
+ Private->BlockIo2.Media->OptimalTransferLengthGranularity = 0;
+ }
}
Private->DevicePath = AppendDevicePathNode (ParentDevicePath, DevicePathNode);
|