Description:
When monitoring a 140kHz signal for interrupts on a GPIO pin, Linux kernel version 6.1.46 experiences an interrupt storm and becomes unresponsive after disabling the associated IRQ. This behaviour contrasts with the expected behavior observed in kernel version 5.10.168, where the system becomes responsive upon disabling the IRQ.
Test Setup:
- Utilized SDK 9.0.1 and a BeagleBone Black with Kernel 6.1.46 from Linux-ti-staging and Kernel 5.10.168 from linux-bb.org.
- Signal generator producing a >100kHz square wave signal, specifically tested with 140kHz.
- GPIO input pins tested: P8-12/14/16/18/17.
Steps to Reproduce:
- Apply a 140kHz signal to any GPIO input pin (e.g., P8-12/14/16/18/17).
- Use gpiomon to monitor the signal for interrupts.
- Linux will disable the associated IRQ source.
- On Linux 6.1.46, the system becomes unresponsive, and responsiveness is restored upon signal removal. In contrast, on Linux 5.10.168, the system becomes responsive after the IRQ source is disabled, allowing gpiomon to be forcefully terminated.
Urgency:
The issue presents an urgent concern as applying the signal to any GPIO input results in a complete system lockup, deviating from expected behaviour where Linux should recover by disabling the interrupt source, as observed in the 5.10 kernel.