From a5f2a2051303048d61f99e5381a578234122ef19 Mon Sep 17 00:00:00 2001 From: mdkinney Date: Thu, 30 Oct 2008 03:59:47 +0000 Subject: Fix bug walking list of ACPI descriptors searching for bus ranges. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6290 6f19259b-4bc3-4df7-8a09-765794883524 --- DuetPkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.c | 16 ++++++++-------- DuetPkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.h | 2 +- DuetPkg/PciBusNoEnumerationDxe/PciRomTable.c | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) (limited to 'DuetPkg/PciBusNoEnumerationDxe') diff --git a/DuetPkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.c b/DuetPkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.c index 0b6658d61c..2f0a1757c0 100644 --- a/DuetPkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.c +++ b/DuetPkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.c @@ -1291,7 +1291,7 @@ Returns: return Status; } - while (PciGetBusRange (Descriptors, &MinBus, &MaxBus, NULL) == EFI_SUCCESS) { + while (PciGetBusRange (&Descriptors, &MinBus, &MaxBus, NULL) == EFI_SUCCESS) { // // Create a device node for root bridge device with a NULL host bridge controller handle @@ -1335,7 +1335,7 @@ Returns: EFI_STATUS PciGetBusRange ( - IN EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptors, + IN EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR **Descriptors, OUT UINT16 *MinBus, OUT UINT16 *MaxBus, OUT UINT16 *BusRange @@ -1360,23 +1360,23 @@ Returns: --*/ { - while (Descriptors->Desc != ACPI_END_TAG_DESCRIPTOR) { - if (Descriptors->ResType == ACPI_ADDRESS_SPACE_TYPE_BUS) { + while ((*Descriptors)->Desc != ACPI_END_TAG_DESCRIPTOR) { + if ((*Descriptors)->ResType == ACPI_ADDRESS_SPACE_TYPE_BUS) { if (MinBus != NULL) { - *MinBus = (UINT16)Descriptors->AddrRangeMin; + *MinBus = (UINT16)(*Descriptors)->AddrRangeMin; } if (MaxBus != NULL) { - *MaxBus = (UINT16)Descriptors->AddrRangeMax; + *MaxBus = (UINT16)(*Descriptors)->AddrRangeMax; } if (BusRange != NULL) { - *BusRange = (UINT16)Descriptors->AddrLen; + *BusRange = (UINT16)(*Descriptors)->AddrLen; } return EFI_SUCCESS; } - Descriptors ++; + (*Descriptors)++; } return EFI_NOT_FOUND; diff --git a/DuetPkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.h b/DuetPkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.h index 420ee6bf9b..3f028ee2c2 100644 --- a/DuetPkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.h +++ b/DuetPkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.h @@ -81,7 +81,7 @@ Returns: EFI_STATUS PciGetBusRange ( - IN EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptors, + IN EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR **Descriptors, OUT UINT16 *MinBus, OUT UINT16 *MaxBus, OUT UINT16 *BusRange diff --git a/DuetPkg/PciBusNoEnumerationDxe/PciRomTable.c b/DuetPkg/PciBusNoEnumerationDxe/PciRomTable.c index 15426ecd92..d14a0d56da 100644 --- a/DuetPkg/PciBusNoEnumerationDxe/PciRomTable.c +++ b/DuetPkg/PciBusNoEnumerationDxe/PciRomTable.c @@ -310,7 +310,7 @@ Returns: return Status; } - PciGetBusRange (Descriptors, &MinBus, &MaxBus, NULL); + PciGetBusRange (&Descriptors, &MinBus, &MaxBus, NULL); if ((MinBus <= PciOptionRomDescriptor->Bus) && (PciOptionRomDescriptor->Bus <= MaxBus)) { Status = PciRomLoadEfiDriversFromRomImage (This, PciOptionRomDescriptor); PciOptionRomDescriptor->DontLoadEfiRom |= 2; -- cgit v1.2.3