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

PM / devfreq: tegra30: Disable clock on error in probe

This error path needs to call clk_disable_unprepare().

Fixes: 7296443b900e ("PM / devfreq: tegra30: Handle possible round-rate error")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>

authored by

Dan Carpenter and committed by
Chanwoo Choi
6bf56076 0c309ed1

+3 -1
+3 -1
drivers/devfreq/tegra30-devfreq.c
··· 836 836 rate = clk_round_rate(tegra->emc_clock, ULONG_MAX); 837 837 if (rate < 0) { 838 838 dev_err(&pdev->dev, "Failed to round clock rate: %ld\n", rate); 839 - return rate; 839 + err = rate; 840 + goto disable_clk; 840 841 } 841 842 842 843 tegra->max_freq = rate / KHZ; ··· 898 897 dev_pm_opp_remove_all_dynamic(&pdev->dev); 899 898 900 899 reset_control_reset(tegra->reset); 900 + disable_clk: 901 901 clk_disable_unprepare(tegra->clock); 902 902 903 903 return err;