diff options
author | jhb <jhb@FreeBSD.org> | 2005-01-18 20:21:36 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2005-01-18 20:21:36 +0000 |
commit | 412576a6fa80f3935901cb3457fe925d96f18a15 (patch) | |
tree | 5854ca4b3ab7878db320dd172cd1d7566d730366 /sys/dev/acpica | |
parent | c32261430ca08f1c2e4d126512480156481142bc (diff) | |
download | FreeBSD-src-412576a6fa80f3935901cb3457fe925d96f18a15.zip FreeBSD-src-412576a6fa80f3935901cb3457fe925d96f18a15.tar.gz |
Don't create new-bus resources for ACPI extended IRQ resources that are
producers rather than consumers as new-bus resources only handle consumed
resources. We already do this for the other ACPI resource types that
support the producer/consumer attribute.
Diffstat (limited to 'sys/dev/acpica')
-rw-r--r-- | sys/dev/acpica/acpi_resource.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/acpica/acpi_resource.c b/sys/dev/acpica/acpi_resource.c index 9ccf45c..e8c13fb 100644 --- a/sys/dev/acpica/acpi_resource.c +++ b/sys/dev/acpica/acpi_resource.c @@ -439,7 +439,11 @@ acpi_parse_resources(device_t dev, ACPI_HANDLE handle, "unimplemented Address64 resource\n")); break; case ACPI_RSTYPE_EXT_IRQ: - /* XXX special handling? */ + if (res->Data.ExtendedIrq.ProducerConsumer != ACPI_CONSUMER) { + ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES, + "ignored ExtIRQ producer\n")); + break; + } set->set_irq(dev, context,res->Data.ExtendedIrq.Interrupts, res->Data.ExtendedIrq.NumberOfInterrupts, res->Data.ExtendedIrq.EdgeLevel, |