Le 18/11/2024 à 10:40, André Draszik a écrit :
On Sun, 2024-11-17 at 13:03 +0100, Christophe JAILLET wrote:
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: f9c744747973 ("pinctrl: samsung: support a bus clock")
Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
---
Compile tested only.
Review with care, irq handling is sometimes tricky...
Well spotted, thanks.
It looks like there is a similar problem in exynos_irq_request_resources()
in same file. It should likely call gpiochip_unlock_as_irq() if clk_enable()
failed.
Also wondering if it is needed in exynos_irq_release_resources() if
clk_enable() fails and we early return.
I don't know how these callbacks are used and if we could dead-lock in
such a situation.
What do you think?
CJ
Care to fix that as well?
That said,
Reviewed-by: André Draszik <andre.draszik@xxxxxxxxxx>
Cheers,
Andre'