diff options
author | mdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-10-30 03:59:47 +0000 |
---|---|---|
committer | mdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-10-30 03:59:47 +0000 |
commit | a5f2a2051303048d61f99e5381a578234122ef19 (patch) | |
tree | 97f352b3fdbb24b13b02f022ccec500127ec7ff0 /DuetPkg | |
parent | 9df87888de644b5425ffce2d8a76347000d0a57c (diff) | |
download | edk2-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')
-rw-r--r-- | DuetPkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.c | 16 | ||||
-rw-r--r-- | DuetPkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.h | 2 | ||||
-rw-r--r-- | DuetPkg/PciBusNoEnumerationDxe/PciRomTable.c | 2 |
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;
|