Re: [PATCH 3/7] mfd: twl4030-irq: drop the kthread

Felipe Contreras
2011-12-12T17:48:44Z

On Thu, Jun 30, 2011 at 12:51 PM, Felipe Balbi <balbi@ti.com> 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