diff --git a/sys/dev/pci/pci_host_generic_acpi.c b/sys/dev/pci/pci_host_generic_acpi.c --- a/sys/dev/pci/pci_host_generic_acpi.c +++ b/sys/dev/pci/pci_host_generic_acpi.c @@ -344,23 +344,16 @@ generic_pcie_acpi_read_ivar(device_t dev, device_t child, int index, uintptr_t *result) { - struct generic_pcie_acpi_softc *sc; - - sc = device_get_softc(dev); - - if (index == PCIB_IVAR_BUS) { - *result = sc->base.bus_start; - return (0); - } + ACPI_HANDLE handle; - if (index == PCIB_IVAR_DOMAIN) { - *result = sc->base.ecam; + switch (index) { + case ACPI_IVAR_HANDLE: + handle = acpi_get_handle(dev); + *result = (uintptr_t)handle; return (0); } - if (bootverbose) - device_printf(dev, "ERROR: Unknown index %d.\n", index); - return (ENOENT); + return (generic_pcie_read_ivar(dev, child, index, result)); } static int