Messages in this thread | | | Date | Thu, 12 Apr 2012 10:57:45 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: [v3.4-rc1] ACPI regression bisected |
| |
On Thu, 12 Apr 2012, Jörg Otte wrote:
> I tried that patch, for me it works.
> > --- a/drivers/acpi/osl.c > > +++ b/drivers/acpi/osl.c > > @@ -607,7 +607,8 @@ acpi_os_install_interrupt_handler(u32 gsi, acpi_osd_handler handler, > > > > acpi_irq_handler = handler; > > acpi_irq_context = context; > > - if (request_threaded_irq(irq, NULL, acpi_irq, IRQF_SHARED, "acpi", > > + if (request_threaded_irq(irq, NULL, acpi_irq, > > + IRQF_SHARED | IRQF_ONESHOT, "acpi", > > acpi_irq)) { > > printk(KERN_ERR PREFIX "SCI (IRQ%d) allocation failed\n", irq); > > acpi_irq_handler = NULL;
OK, so now the question is whether the ACPI interrupt can end up being shared or not.
If it can be shared, then we need a proper primary handler which silences the interrupt at the device level and the threaded handler needs to reenable it after finishing the processing.
Len, Andi ???
Thanks,
tglx | |