2005-11-01 01:52:21

by Shaohua Li

[permalink] [raw]
Subject: [PATCH] workaround for pnp device interrupt

Workaround for Krzysztof's system, which makes RTC interrupt level
triggered. Andrew, please give it a try in -mm tree, let's see if it
breaks other systems.

http://bugzilla.kernel.org/show_bug.cgi?id=5243

Thanks,
Shaohua

--- a/drivers/pnp/pnpacpi/rsparser.c 2005-10-10 09:25:31.000000000 +0800
+++ b/drivers/pnp/pnpacpi/rsparser.c 2005-10-10 09:22:13.000000000 +0800
@@ -89,6 +89,12 @@ pnpacpi_parse_allocated_irqresource(stru
return;

res->irq_resource[i].flags = IORESOURCE_IRQ; // Also clears _UNSET flag
+#ifdef CONFIG_X86
+ if (gsi < 16 && edge_level != ACPI_EDGE_SENSITIVE) {
+ pnp_err("Legacy PNP IRQ %d should be edge trigger", gsi);
+ edge_level = ACPI_EDGE_SENSITIVE;
+ }
+#endif
irq = acpi_register_gsi(gsi, edge_level, active_high_low);
if (irq < 0) {
res->irq_resource[i].flags |= IORESOURCE_DISABLED;