• Andrew Lunn's avatar
    gpio: vf610: Mask all GPIO interrupts · 7ae710f9
    Andrew Lunn authored
    On SoC reset all GPIO interrupts are disable. However, if kexec is
    used to boot into a new kernel, the SoC does not experience a
    reset. Hence GPIO interrupts can be left enabled from the previous
    kernel. It is then possible for the interrupt to fire before an
    interrupt handler is registered, resulting in the kernel complaining
    of an "unexpected IRQ trap", the interrupt is never cleared, and so
    fires again, resulting in an interrupt storm.
    
    Disable all GPIO interrupts before registering the GPIO IRQ chip.
    
    Fixes: 7f2691a1 ("gpio: vf610: add gpiolib/IRQ chip driver for Vybrid")
    Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
    Acked-by: default avatarStefan Agner <stefan@agner.ch>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    7ae710f9
gpio-vf610.c 8.86 KB