mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
clocksource/drivers/digicolor: Fix clk reference leak on request_irq failure
digicolor_timer_init() obtains the timer clock with of_clk_get() and
enables it, but the request_irq() failure path returns without releasing
the clock reference, leaking both the enable/prepare state and the
reference itself.
Disable and put the clock before returning on the request_irq() failure
path. The success path keeps the clock enabled for the lifetime of the
timer and is left untouched.
Fixes: 9b8bb7736b ("clocksource: Driver for Conexant Digicolor SoC timer")
Cc: stable@vger.kernel.org
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
Signed-off-by: Daniel Lezcano <daniel.lezcano@kernel.org>
Acked-by: Baruch Siach <baruch@tkos.co.il>
Link: https://patch.msgid.link/20260915045242.1726702-1-vulab@iscas.ac.cn
This commit is contained in:
parent
277e565723
commit
9cc2e18b32
|
|
@ -190,6 +190,8 @@ static int __init digicolor_timer_init(struct device_node *node)
|
|||
&dc_timer_dev.ce);
|
||||
if (ret) {
|
||||
pr_warn("request of timer irq %d failed (%d)\n", irq, ret);
|
||||
clk_disable_unprepare(clk);
|
||||
clk_put(clk);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user