summaryrefslogtreecommitdiffstats
path: root/DuetPkg/PciBusNoEnumerationDxe
diff options
context:
space:
mode:
authormdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>2008-10-30 03:59:47 +0000
committermdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>2008-10-30 03:59:47 +0000
commita5f2a2051303048d61f99e5381a578234122ef19 (patch)
tree97f352b3fdbb24b13b02f022ccec500127ec7ff0 /DuetPkg/PciBusNoEnumerationDxe
parent9df87888de644b5425ffce2d8a76347000d0a57c (diff)
downloadedk2-a5f2a2051303048d61f99e5381a578234122ef19.tar.gz
edk2-a5f2a2051303048d61f99e5381a578234122ef19.tar.bz2
edk2-a5f2a2051303048d61f99e5381a578234122ef19.zip
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
Diffstat (limited to 'DuetPkg/PciBusNoEnumerationDxe')
-rw-r--r--DuetPkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.c16
-rw-r--r--DuetPkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.h2
-rw-r--r--DuetPkg/PciBusNoEnumerationDxe/PciRomTable.c2
3 files changed, 10 insertions, 10 deletions
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;