Commit fa03587c authored by Tiezhu Yang's avatar Tiezhu Yang Committed by Marc Zyngier

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: dbb15226 ("irqchip: Add driver for Loongson I/O Local Interrupt Controller")
Reported-by: default avatarJianmin Lv <lvjianmin@loongson.cn>
Signed-off-by: default avatarTiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/1594087972-21715-8-git-send-email-yangtiezhu@loongson.cn
parent b10cbca8
...@@ -114,6 +114,7 @@ static int liointc_set_type(struct irq_data *data, unsigned int type) ...@@ -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); liointc_set_bit(gc, LIOINTC_REG_INTC_POL, mask, false);
break; break;
default: default:
irq_gc_unlock_irqrestore(gc, flags);
return -EINVAL; return -EINVAL;
} }
irq_gc_unlock_irqrestore(gc, flags); irq_gc_unlock_irqrestore(gc, flags);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment