diff --git a/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/Ata.c b/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/Ata.c index 7d92065b1c..1743b4c52d 100644 --- a/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/Ata.c +++ b/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/Ata.c @@ -2563,8 +2563,8 @@ AtaEnableLongPhysicalSector ( // if ((AtaIdentifyData->alignment_logic_in_phy_blocks & 0xc000) == 0x4000) { IdeDev->BlkIo.Media->LowestAlignedLba = - (EFI_LBA) (IdeDev->BlkIo.Media->LogicalBlocksPerPhysicalBlock - (AtaIdentifyData->alignment_logic_in_phy_blocks & 0x3fff)) % - IdeDev->BlkIo.Media->LogicalBlocksPerPhysicalBlock; + (EFI_LBA) ((IdeDev->BlkIo.Media->LogicalBlocksPerPhysicalBlock - ((UINT32)AtaIdentifyData->alignment_logic_in_phy_blocks & 0x3fff)) % + IdeDev->BlkIo.Media->LogicalBlocksPerPhysicalBlock); } } //