mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
PM / devfreq: tegra30: Disable clock on error in probe
This error path needs to call clk_disable_unprepare().
Fixes: 7296443b90
("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>
This commit is contained in:
committed by
Chanwoo Choi
parent
0c309ed17c
commit
6bf560766a
@@ -836,7 +836,8 @@ static int tegra_devfreq_probe(struct platform_device *pdev)
|
|||||||
rate = clk_round_rate(tegra->emc_clock, ULONG_MAX);
|
rate = clk_round_rate(tegra->emc_clock, ULONG_MAX);
|
||||||
if (rate < 0) {
|
if (rate < 0) {
|
||||||
dev_err(&pdev->dev, "Failed to round clock rate: %ld\n", rate);
|
dev_err(&pdev->dev, "Failed to round clock rate: %ld\n", rate);
|
||||||
return rate;
|
err = rate;
|
||||||
|
goto disable_clk;
|
||||||
}
|
}
|
||||||
|
|
||||||
tegra->max_freq = rate / KHZ;
|
tegra->max_freq = rate / KHZ;
|
||||||
@@ -897,6 +898,7 @@ remove_opps:
|
|||||||
dev_pm_opp_remove_all_dynamic(&pdev->dev);
|
dev_pm_opp_remove_all_dynamic(&pdev->dev);
|
||||||
|
|
||||||
reset_control_reset(tegra->reset);
|
reset_control_reset(tegra->reset);
|
||||||
|
disable_clk:
|
||||||
clk_disable_unprepare(tegra->clock);
|
clk_disable_unprepare(tegra->clock);
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
|
Reference in New Issue
Block a user