summaryrefslogtreecommitdiff
path: root/sys/dev/acpica/acpi_pci_link.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/acpica/acpi_pci_link.c')
-rw-r--r--sys/dev/acpica/acpi_pci_link.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/sys/dev/acpica/acpi_pci_link.c b/sys/dev/acpica/acpi_pci_link.c
index 3b853b6583849..2ce7e691d266e 100644
--- a/sys/dev/acpica/acpi_pci_link.c
+++ b/sys/dev/acpica/acpi_pci_link.c
@@ -146,15 +146,18 @@ static int
acpi_pci_link_probe(device_t dev)
{
char descr[28], name[12];
+ int rv;
/*
* We explicitly do not check _STA since not all systems set it to
* sensible values.
*/
- if (acpi_disabled("pci_link") ||
- ACPI_ID_PROBE(device_get_parent(dev), dev, pci_link_ids) == NULL)
- return (ENXIO);
-
+ if (acpi_disabled("pci_link"))
+ return (ENXIO);
+ rv = ACPI_ID_PROBE(device_get_parent(dev), dev, pci_link_ids, NULL);
+ if (rv > 0)
+ return (rv);
+
if (ACPI_SUCCESS(acpi_short_name(acpi_get_handle(dev), name,
sizeof(name)))) {
snprintf(descr, sizeof(descr), "ACPI PCI Link %s", name);
@@ -162,7 +165,7 @@ acpi_pci_link_probe(device_t dev)
} else
device_set_desc(dev, "ACPI PCI Link");
device_quiet(dev);
- return (0);
+ return (rv);
}
static ACPI_STATUS