Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

clocksource/drivers/cadence-ttc: Add missing clk_disable_unprepare in ttc_setup_clockevent

Add the missing clk_disable_unprepare() before return in
ttc_setup_clockevent().

Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com>
Reviewed-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/20240803064253.331946-3-cuigaosheng1@huawei.com
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>

authored by

Gaosheng Cui and committed by
Daniel Lezcano
2e02da1d 6cc11b65

+4 -2
+4 -2
drivers/clocksource/timer-cadence-ttc.c
··· 435 435 &ttcce->ttc.clk_rate_change_nb); 436 436 if (err) { 437 437 pr_warn("Unable to register clock notifier.\n"); 438 - goto out_kfree; 438 + goto out_clk_unprepare; 439 439 } 440 440 441 441 ttcce->ttc.freq = clk_get_rate(ttcce->ttc.clk); ··· 465 465 err = request_irq(irq, ttc_clock_event_interrupt, 466 466 IRQF_TIMER, ttcce->ce.name, ttcce); 467 467 if (err) 468 - goto out_kfree; 468 + goto out_clk_unprepare; 469 469 470 470 clockevents_config_and_register(&ttcce->ce, 471 471 ttcce->ttc.freq / PRESCALE, 1, 0xfffe); 472 472 473 473 return 0; 474 474 475 + out_clk_unprepare: 476 + clk_disable_unprepare(ttcce->ttc.clk); 475 477 out_kfree: 476 478 kfree(ttcce); 477 479 return err;