Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

gpio: pca953x: mask interrupts in irq shutdown

In the existing implementation irq_shutdown does not mask the interrupts
in hardware. This can cause spurious interrupts from the IO expander.
Add masking to irq_shutdown to prevent spurious interrupts.

Cc: stable@vger.kernel.org
Signed-off-by: Martin Larsson <martin.larsson@actia.se>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Link: https://lore.kernel.org/r/20260121125631.2758346-1-martin.larsson@actia.se
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>

authored by

Martin Larsson and committed by
Bartosz Golaszewski
d02f20a4 53ad4a94

+2
+2
drivers/gpio/gpio-pca953x.c
··· 914 914 clear_bit(hwirq, chip->irq_trig_fall); 915 915 clear_bit(hwirq, chip->irq_trig_level_low); 916 916 clear_bit(hwirq, chip->irq_trig_level_high); 917 + 918 + pca953x_irq_mask(d); 917 919 } 918 920 919 921 static void pca953x_irq_print_chip(struct irq_data *data, struct seq_file *p)