summaryrefslogtreecommitdiffstats
path: root/sys/dev/acpica/acpi.c
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2005-04-14 06:45:24 +0000
committerjhb <jhb@FreeBSD.org>2005-04-14 06:45:24 +0000
commit5c0bcd6fac17c637a8265666511b607cd64ef616 (patch)
tree45ada6ea0e061e7d508ea8011bff3e2b9d41c3d0 /sys/dev/acpica/acpi.c
parentc22991d0e3b4dcdbf30f46d281b8452a88296ea2 (diff)
downloadFreeBSD-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.c4
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);
OpenPOWER on IntegriCloud