• Thomas Gleixner's avatar
    pinctrl/amd: Use regular interrupt instead of chained · ba714a9c
    Thomas Gleixner authored
    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=1034261Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    ba714a9c
pinctrl-amd.c 22.4 KB