From c1450e16706f7521ada2a6e969a562f7233f9383 Mon Sep 17 00:00:00 2001 From: vanjeff Date: Fri, 12 Nov 2010 02:10:21 +0000 Subject: [PATCH] Fix bug: The lower 2 bits of Width and stripped, Count will always be multiplied by 1, which will leave Count unchanged. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11043 6f19259b-4bc3-4df7-8a09-765794883524 --- MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c b/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c index 3fa985f567..86c9135afd 100644 --- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c +++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c @@ -451,8 +451,8 @@ PciIoMemRead ( // if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { - Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); Count *= (UINTN)(1 << (Width & 0x03)); + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); } } @@ -526,8 +526,8 @@ PciIoMemWrite ( // if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { - Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); Count *= (UINTN)(1 << (Width & 0x03)); + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); } } @@ -600,8 +600,8 @@ PciIoIoRead ( // if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { - Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); Count *= (UINTN)(1 << (Width & 0x03)); + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); } } @@ -674,8 +674,8 @@ PciIoIoWrite ( // if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { - Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); Count *= (UINTN)(1 << (Width & 0x03)); + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); } } @@ -739,8 +739,8 @@ PciIoConfigRead ( // if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { - Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); Count *= (UINTN)(1 << (Width & 0x03)); + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); } } @@ -804,8 +804,8 @@ PciIoConfigWrite ( // if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) { - Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); Count *= (UINTN)(1 << (Width & 0x03)); + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); } } @@ -899,8 +899,8 @@ PciIoCopyMem ( // if (FeaturePcdGet (PcdUnalignedPciIoEnable)) { if ((SrcOffset & ((1 << (Width & 0x03)) - 1)) != 0 || (DestOffset & ((1 << (Width & 0x03)) - 1)) != 0) { - Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); Count *= (UINTN)(1 << (Width & 0x03)); + Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03)); } } -- 2.39.2