pinctrl: sunxi: Mark the irq bank not found in sunxi_pinctrl_irq_handler() with WARN_ON
authorYangtao Li <frank@allwinnertech.com>
Tue, 10 Nov 2020 06:23:44 +0000 (14:23 +0800)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 24 Nov 2020 08:40:54 +0000 (09:40 +0100)
The interrupt descriptor cannot be found in the interrupt processing
function, and this situation cannot happen when the system is running
normally. It doesn't seem right to return directly to the status of not
handling gic. In this case, it must be a bug, let's mark it with
WARN_ON.

Signed-off-by: Yangtao Li <frank@allwinnertech.com>
Link: https://lore.kernel.org/r/470ebae22fc5434ad5409c4f6e29255467b3cef6.1604988979.git.frank@allwinnertech.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/sunxi/pinctrl-sunxi.c

index 8e792f8e2dc9adcaef6f1ad0c56ca53712e2128b..9d8b59dafa4b4d256f6adc728e18d1d404cb8683 100644 (file)
@@ -1139,8 +1139,7 @@ static void sunxi_pinctrl_irq_handler(struct irq_desc *desc)
                if (irq == pctl->irq[bank])
                        break;
 
-       if (bank == pctl->desc->irq_banks)
-               return;
+       WARN_ON(bank == pctl->desc->irq_banks);
 
        reg = sunxi_irq_status_reg_from_bank(pctl->desc, bank);
        val = readl(pctl->membase + reg);