]> git.baikalelectronics.ru Git - kernel.git/commit
pinctrl/amd: Use regular interrupt instead of chained
authorThomas Gleixner <tglx@linutronix.de>
Tue, 23 May 2017 21:23:32 +0000 (23:23 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Fri, 9 Jun 2017 08:51:54 +0000 (10:51 +0200)
commit2a2a01a8c5c230cc3f40605f462e790502aec292
tree5088269acaa754db8659f7e6d91cf71ea47a9c77
parente9e02ea9c2ec5186bb77a8d5bc3b7bee407a45bb
pinctrl/amd: Use regular interrupt instead of chained

The AMD pinctrl driver uses a chained interrupt to demultiplex the GPIO
interrupts. Kevin Vandeventer reported, that his new AMD Ryzen locks up
hard on boot when the AMD pinctrl driver is initialized. The reason is an
interrupt storm. It's not clear whether that's caused by hardware or
firmware or both.

Using chained interrupts on X86 is a dangerous endavour. If a system is
misconfigured or the hardware buggy there is no safety net to catch an
interrupt storm.

Convert the driver to use a regular interrupt for the demultiplex
handler. This allows the interrupt storm detector to catch the malfunction
and lets the system boot up.

This should be backported to stable because it's likely that more users run
into this problem as the AMD Ryzen machines are spreading.

Reported-by: Kevin Vandeventer
Link: https://bugzilla.suse.com/show_bug.cgi?id=1034261
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-amd.c