On Thu, Jun 30, 2011 at 12:51 PM, Felipe Balbi <balbi@xxxxxx> 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html