diff options
| author | John Baldwin <jhb@FreeBSD.org> | 2007-10-27 14:54:43 +0000 |
|---|---|---|
| committer | John Baldwin <jhb@FreeBSD.org> | 2007-10-27 14:54:43 +0000 |
| commit | 3052da8bb3bc71200f272ccf3b40af0e7b798675 (patch) | |
| tree | 930e3c915967fea6f179fdb02fec0f9c14130ea2 /sys/dev/acpica | |
| parent | 54a3fb6f8fdd758bb45f0091f6a06bee3ea1dfc3 (diff) | |
Notes
Diffstat (limited to 'sys/dev/acpica')
| -rw-r--r-- | sys/dev/acpica/acpi_pci.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/sys/dev/acpica/acpi_pci.c b/sys/dev/acpica/acpi_pci.c index ed22417c90f71..607691c7091bd 100644 --- a/sys/dev/acpica/acpi_pci.c +++ b/sys/dev/acpica/acpi_pci.c @@ -208,8 +208,19 @@ acpi_pci_update_device(ACPI_HANDLE handle, device_t pci_child) */ child = acpi_get_device(handle); if (child != NULL) { - KASSERT(!device_is_alive(child), ("%s: deleting alive child %s", - __func__, device_get_nameunit(child))); + if (device_is_alive(child)) { + /* + * The TabletPC TC1000 has a second PCI-ISA bridge + * that has a _HID for an acpi_sysresource device. + * In that case, leave ACPI-CA's device data pointing + * at the ACPI-enumerated device. + */ + device_printf(child, + "Conflicts with PCI device %d:%d:%d\n", + pci_get_bus(pci_child), pci_get_slot(pci_child), + pci_get_function(pci_child)); + return; + } KASSERT(device_get_parent(child) == devclass_get_device(devclass_find("acpi"), 0), ("%s: child (%s)'s parent is not acpi0", __func__, |
