From: Tiezhu Yang Date: Tue, 7 Jul 2020 02:12:51 +0000 (+0800) Subject: irqchip/loongson-liointc: Fix potential dead lock X-Git-Tag: rel_imx_5.10.35_2.0.0-somdevices.0~1552^2^2~24 X-Git-Url: https://git.somdevices.com/?a=commitdiff_plain;h=fa03587cad9bd32aa552377de4f05c50181a35a8;p=linux.git irqchip/loongson-liointc: Fix potential dead lock In the function liointc_set_type(), we need to call the function irq_gc_unlock_irqrestore() before returning. Fixes: dbb152267908 ("irqchip: Add driver for Loongson I/O Local Interrupt Controller") Reported-by: Jianmin Lv Signed-off-by: Tiezhu Yang Signed-off-by: Marc Zyngier Link: https://lore.kernel.org/r/1594087972-21715-8-git-send-email-yangtiezhu@loongson.cn --- diff --git a/drivers/irqchip/irq-loongson-liointc.c b/drivers/irqchip/irq-loongson-liointc.c index 63b61474a0cc..6ef86a334c62 100644 --- a/drivers/irqchip/irq-loongson-liointc.c +++ b/drivers/irqchip/irq-loongson-liointc.c @@ -114,6 +114,7 @@ static int liointc_set_type(struct irq_data *data, unsigned int type) liointc_set_bit(gc, LIOINTC_REG_INTC_POL, mask, false); break; default: + irq_gc_unlock_irqrestore(gc, flags); return -EINVAL; } irq_gc_unlock_irqrestore(gc, flags);