aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/acpica
diff options
context:
space:
mode:
authorNate Lawson <njl@FreeBSD.org>2005-10-23 00:28:39 +0000
committerNate Lawson <njl@FreeBSD.org>2005-10-23 00:28:39 +0000
commit893f750a5c9d079860314756b22bd7ecf2b04cc2 (patch)
tree549f8db097f7ed55178c4387d3cddadb482fa1d3 /sys/dev/acpica
parent71a5cd7f7d34557ea2186783175f050025e14ba8 (diff)
Notes
Diffstat (limited to 'sys/dev/acpica')
-rw-r--r--sys/dev/acpica/acpi.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c
index 993633ae68bca..efab546239586 100644
--- a/sys/dev/acpica/acpi.c
+++ b/sys/dev/acpica/acpi.c
@@ -1571,8 +1571,13 @@ acpi_probe_child(ACPI_HANDLE handle, UINT32 level, void *context, void **status)
* Check that the device is present. If it's not present,
* leave it disabled (so that we have a device_t attached to
* the handle, but we don't probe it).
+ *
+ * XXX PCI link devices sometimes report "present" but not
+ * "functional" (i.e. if disabled). Go ahead and probe them
+ * anyway since we may enable them later.
*/
- if (type == ACPI_TYPE_DEVICE && !acpi_DeviceIsPresent(child)) {
+ if (type == ACPI_TYPE_DEVICE && !acpi_DeviceIsPresent(child) &&
+ !acpi_MatchHid(handle, "PNP0C0F")) {
device_disable(child);
break;
}