• Gregory CLEMENT's avatar
    gpio: mvebu: Fix cause computation in irq handler · 3f13b6a2
    Gregory CLEMENT authored
    When switching to regmap, the way to compute the irq cause was
    reorganized. However while doing it, a typo was introduced: a 'xor'
    replaced a 'and'.
    
    This lead to wrong behavior in the interrupt handler ans one of the
    symptom was wrong irq handler called on the Armada 388 GP:
    "->handle_irq():  c016303c,
    handle_bad_irq+0x0/0x278
    ->irq_data.chip(): c0b0ec0c,
    0xc0b0ec0c
    ->action():   (null)
       IRQ_NOPROBE set
     IRQ_NOREQUEST set
    unexpected IRQ trap at vector 00
    irq 0, desc: ee804800, depth: 1, count: 0, unhandled: 0"
    
    Fixes: 2233bf7a ("gpio: mvebu: switch to regmap for register access")
    Signed-off-by: default avatarGregory CLEMENT <gregory.clement@free-electrons.com>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    3f13b6a2
gpio-mvebu.c 32.9 KB