[PATCH v2] pinctrl/at91: Fix lockup when IRQ on PIOC and PIOD occurs
alexandre.belloni at free-electrons.com
Wed May 21 10:15:32 PDT 2014
On 09/05/2014 at 12:23:03 +0200, Nicolas Ferre wrote :
> On 25/04/2014 11:18, Linus Walleij :
> > On Thu, Apr 24, 2014 at 7:55 PM, Alexander Stein <alexanders83 at web.de> wrote:
> >> With commit 80cc3732 (pinctrl/at91: convert driver to use gpiolib irqchip)
> >> gpiochip_set_chained_irqchip is called for PIOC, PIOD and PIOE. The
> >> associated GPIO chip for the IRQ chip is overwritten each time, because
> >> they share the same hard IRQ line.
> >> Thus if an IRQ occurs on PIOC or PIOD, gpio_irq_handler will only check on
> >> PIOE (the assigned GPIO chip) where no event occured. Thus the IRQ will
> >> not be cleared, retriggering the ISR.
> >> Fix that (like done before) by only set the PIOC GPIO chip to the IRQ chip
> >> and walk the list in the irq handler.
> >> Signed-off-by: Alexander Stein <alexanders83 at web.de>
> >> ---
> >> Changes in v2:
> >> * Fix git SHA1 in commit message (used local one)
> >> * Switch to the next gpio_chip when walking the list
> > This v2 patch applied for next.
> I do not see this patch in your "for-next" branch nor in linux-next. Did
> I miss something?
I don't see it either, I would prefer that we don't miss it for 3.16,
can you check ?
Alexandre Belloni, Free Electrons
Embedded Linux, Kernel and Android engineering
More information about the linux-arm-kernel