Re: [PATCH] gpio: mvebu: clear irq in edge cause register before unmask edge irq

From: Linus Walleij
Date: Wed Jan 15 2020 - 08:26:57 EST


On Wed, Jan 15, 2020 at 8:40 AM Maxim <bigunclemax@xxxxxxxxx> wrote:

> From: Maxim Kiselev <bigunclemax@xxxxxxxxx>
>
> When input GPIO set from 0 to 1, the interrupt bit asserted in the GPIO
> Interrupt Cause Register (ICR) even if the corresponding interrupt
> masked in the GPIO Interrupt Mask Register.
>
> Because interrupt mask register only affects assertion of the interrupt
> bits in Main Interrupt Cause Register and it does not affect the
> setting of bits in the GPIO ICR.
>
> So, there is problem, when we unmask interrupt with already
> asserted bit in the GPIO ICR, then false interrupt immediately occurs
> even if GPIO don't change their value since last unmask.
>
> Signed-off-by: Maxim Kiselev <bigunclemax@xxxxxxxxx>

This looks correct to me, a review from the MVEBU maintainers
would be appreciated.

- Should it be applied to fixes as a regression fix?

- Should it be tagged for stable?

Yours.
Linus Walleij