diff options
author | jhb <jhb@FreeBSD.org> | 2005-04-14 06:45:24 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2005-04-14 06:45:24 +0000 |
commit | 5c0bcd6fac17c637a8265666511b607cd64ef616 (patch) | |
tree | 45ada6ea0e061e7d508ea8011bff3e2b9d41c3d0 /sys/dev/acpica/acpi.c | |
parent | c22991d0e3b4dcdbf30f46d281b8452a88296ea2 (diff) | |
download | FreeBSD-src-5c0bcd6fac17c637a8265666511b607cd64ef616.zip FreeBSD-src-5c0bcd6fac17c637a8265666511b607cd64ef616.tar.gz |
Probe PCI link devices early so that we turn them all off via _DIS before
we start turning any of them back on again. This works around a bug in
some BIOSen that alias two different link devices for APIC vs ATPIC modes
onto the same physical hardware link.
Submitted by: njl
Tested by: Antoine Brodin antoine dot brodin at laposte dot net
Diffstat (limited to 'sys/dev/acpica/acpi.c')
-rw-r--r-- | sys/dev/acpica/acpi.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index 167ed1a..2272a18 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -1495,6 +1495,7 @@ acpi_probe_order(ACPI_HANDLE handle, int *order) /* * 1. I/O port and memory system resource holders * 2. Embedded controllers (to handle early accesses) + * 3. PCI Link Devices */ ret = 0; if (acpi_MatchHid(handle, "PNP0C01") || acpi_MatchHid(handle, "PNP0C02")) { @@ -1503,6 +1504,9 @@ acpi_probe_order(ACPI_HANDLE handle, int *order) } else if (acpi_MatchHid(handle, "PNP0C09")) { *order = 2; ret = 1; + } else if (acpi_MatchHid(handle, "PNP0C0F")) { + *order = 3; + ret = 1; } return (ret); |