pinctrl: amd: Detect and mask spurious interrupts
authorKornel Dulęba <korneld@chromium.org>
Fri, 21 Apr 2023 12:06:23 +0000 (07:06 -0500)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 8 May 2023 13:42:24 +0000 (15:42 +0200)
commit0cf9e48ff22e15f3f0882991f33d23ccc5ae1d01
treeeecdedcf740812c26270d27dd0c0766ba2b2e8ad
parenta855724dc08b8cb0c13ab1e065a4922f1e5a7552
pinctrl: amd: Detect and mask spurious interrupts

Leverage gpiochip_line_is_irq to check whether a pin has an irq
associated with it. The previous check ("irq == 0") didn't make much
sense. The irq variable refers to the pinctrl irq, and has nothing do to
with an individual pin.

On some systems, during suspend/resume cycle, the firmware leaves
an interrupt enabled on a pin that is not used by the kernel.
Without this patch that caused an interrupt storm.

Cc: stable@vger.kernel.org
Link: https://bugzilla.kernel.org/show_bug.cgi?id=217315
Signed-off-by: Kornel Dulęba <korneld@chromium.org>
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Link: https://lore.kernel.org/r/20230421120625.3366-4-mario.limonciello@amd.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-amd.c