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

clk: tegra: tegra124-emc: Fix clock imbalance in emc_set_timing()

After calling clk_prepare_enable(), clk_disable_unprepare() needs
be called when prepare_timing_change() failed.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>

authored by

Yang Yingliang and committed by
Thierry Reding
f13570e7 e848edae

+3 -1
+3 -1
drivers/clk/tegra/clk-tegra124-emc.c
··· 249 249 div = timing->parent_rate / (timing->rate / 2) - 2; 250 250 251 251 err = tegra->prepare_timing_change(emc, timing->rate); 252 - if (err) 252 + if (err) { 253 + clk_disable_unprepare(timing->parent); 253 254 return err; 255 + } 254 256 255 257 spin_lock_irqsave(tegra->lock, flags); 256 258