]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: qcom: qrb2210-rb1: Fix UART3 wakeup IRQ storm
authorPraveen Talari <praveen.talari@oss.qualcomm.com>
Mon, 10 Nov 2025 10:10:40 +0000 (15:40 +0530)
committerBjorn Andersson <andersson@kernel.org>
Fri, 14 Nov 2025 14:51:15 +0000 (08:51 -0600)
For BT use cases, pins are configured with pull-up state in sleep state
to avoid noise. If IRQ type is configured as level high and the GPIO line
is also in a high state, it causes continuous interrupt assertions leading
to an IRQ storm when wakeup irq enables at system suspend/runtime suspend.

Switching to edge-triggered interrupt (IRQ_TYPE_EDGE_FALLING) resolves
this by only triggering on state transitions (high-to-low) rather than
maintaining sensitivity to the static level state, effectively preventing
the continuous interrupt condition and eliminating the wakeup IRQ storm.

Fixes: 9380e0a1d449 ("arm64: dts: qcom: qrb2210-rb1: add Bluetooth support")
Signed-off-by: Praveen Talari <praveen.talari@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251110101043.2108414-2-praveen.talari@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/qrb2210-rb1.dts

index e0e362b140add7b3a97e46f71d8abce739ec1e4f..1b9ca957a94b671953a83705d3793d36eaa07929 100644 (file)
 &uart3 {
        /delete-property/ interrupts;
        interrupts-extended = <&intc GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
-                             <&tlmm 11 IRQ_TYPE_LEVEL_HIGH>;
+                             <&tlmm 11 IRQ_TYPE_EDGE_FALLING>;
        pinctrl-0 = <&uart3_default>;
        pinctrl-1 = <&uart3_sleep>;
        pinctrl-names = "default", "sleep";