GPIO level interrupts on the STM32 were behaving like edge interrupts. The STM32 lacks hardware support for GPIO level interrupts, therefore the pinctrl driver contains code to emulate them using edge interrupts, but this was not working. First, the STM32 EXTI interrupt controller driver lacked support for retriggering interrupts, and second, the wrong IRQ handler was being used because the parent interrupt was an edge interrupt. Ben Wolsieffer (2): irqchip/stm32-exti: support retriggering on STM32 MCUs pinctrl: stm32: fix GPIO level interrupts drivers/irqchip/irq-stm32-exti.c | 13 +++++++++++++ drivers/pinctrl/stm32/pinctrl-stm32.c | 3 +++ 2 files changed, 16 insertions(+) -- 2.42.1