On Thu, Jun 30, 2011 at 12:51 PM, Felipe Balbi <[email protected]> wrote:
> ... and use threaded IRQ infrastructure. Later
> patches will come dropping both workqueues and
> setting the nested thread flag.
...
> static irqreturn_t handle_twl4030_pih(int irq, void *devid)
> {
> - /* Acknowledge, clear *AND* mask the interrupt... */
> - disable_irq_nosync(irq);
> - complete(devid);
...
> - status = request_irq(irq_num, handle_twl4030_pih, IRQF_DISABLED,
> - "TWL4030-PIH", &irq_event);
> + status = request_threaded_irq(irq_num, NULL, handle_twl4030_pih,
> + IRQF_DISABLED, "TWL4030-PIH", NULL);
FTR, in this reorganization this code was dropped
disable_irq_nosync(irq), which means the irq's would never be cleared.
IRQF_ONESHOT should have been on the flags.
But Neil Brown already found the issue and fixed it :)
http://article.gmane.org/gmane.linux.kernel/1220705
--
Felipe Contreras
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html