Commit 7b0671b9 authored by Dmitry Mastykin's avatar Dmitry Mastykin Committed by Linus Walleij
Browse files

pinctrl: mcp23s08: Get rid of spurious level interrupts



irq_mask()/irq_unmask() are not called for nested interrupts. So level
interrupts are never masked, chip's interrupt output is not cleared on
INTCAP or GPIO read, the irq handler is uselessly called again. Nested
irq handler is not called again, because interrupt reason is cleared by
its first call.
/proc/interrupts shows that number of chip's irqs is greater than
number of nested irqs.

This patch adds masking and unmasking level interrupts inside irq handler.

Signed-off-by: default avatarDmitry Mastykin <mastichi@gmail.com>
Link: https://lore.kernel.org/20250122120504.1279790-1-mastichi@gmail.com


Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent d6c6fd77
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment