Skip to content

Commit f686a2b

Browse files
tititiou36krzk
authored andcommitted
pinctrl: samsung: Fix irq handling if an error occurs in exynos_irq_demux_eint16_31()
chained_irq_enter(() should be paired with a corresponding chained_irq_exit(). Here, if clk_enable() fails, a early return occurs and chained_irq_exit() is not called. Add a new label and a goto for fix it. Fixes: f9c7447 ("pinctrl: samsung: support a bus clock") Signed-off-by: Christophe JAILLET <[email protected]> Reviewed-by: André Draszik <[email protected]> Link: https://lore.kernel.org/r/f148d823acfb3326a115bd49a0eed60f2345f909.1731844995.git.christophe.jaillet@wanadoo.fr Signed-off-by: Krzysztof Kozlowski <[email protected]>
1 parent 40384c8 commit f686a2b

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

drivers/pinctrl/samsung/pinctrl-exynos.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -636,7 +636,7 @@ static void exynos_irq_demux_eint16_31(struct irq_desc *desc)
636636
if (clk_enable(b->drvdata->pclk)) {
637637
dev_err(b->gpio_chip.parent,
638638
"unable to enable clock for pending IRQs\n");
639-
return;
639+
goto out;
640640
}
641641
}
642642

@@ -652,6 +652,7 @@ static void exynos_irq_demux_eint16_31(struct irq_desc *desc)
652652
if (eintd->nr_banks)
653653
clk_disable(eintd->banks[0]->drvdata->pclk);
654654

655+
out:
655656
chained_irq_exit(chip, desc);
656657
}
657658

0 commit comments

Comments
 (0)