From 4fcb5426e3808e4f17a09600f2559889530bf660 Mon Sep 17 00:00:00 2001 From: Krzysztof Oledzki Date: Tue, 16 Oct 2007 23:31:08 -0700 Subject: [PATCH] --- yaml --- r: 70764 b: refs/heads/master c: 9cd8047b463f213c294f756119ac353312e7a152 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/pnp/pnpacpi/rsparser.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index c4aa5a74ca67..ef70e83161c4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7ef36390fabe2168fe31f245e49eb4e5f3762622 +refs/heads/master: 9cd8047b463f213c294f756119ac353312e7a152 diff --git a/trunk/drivers/pnp/pnpacpi/rsparser.c b/trunk/drivers/pnp/pnpacpi/rsparser.c index 0e3b8d0ff06b..cd0a204d96d1 100644 --- a/trunk/drivers/pnp/pnpacpi/rsparser.c +++ b/trunk/drivers/pnp/pnpacpi/rsparser.c @@ -85,6 +85,16 @@ static void pnpacpi_parse_allocated_irqresource(struct pnp_resource_table *res, if (i >= PNP_MAX_IRQ) return; +#ifdef CONFIG_X86 + if (gsi < 16 && (triggering != ACPI_EDGE_SENSITIVE || + polarity != ACPI_ACTIVE_HIGH)) { + pnp_warn("BIOS BUG: legacy PNP IRQ %d should be edge trigger, " + "active high", gsi); + triggering = ACPI_EDGE_SENSITIVE; + polarity = ACPI_ACTIVE_HIGH; + } +#endif + res->irq_resource[i].flags = IORESOURCE_IRQ; // Also clears _UNSET flag res->irq_resource[i].flags |= irq_flags(triggering, polarity); irq = acpi_register_gsi(gsi, triggering, polarity);