forked from Minki/linux
ASoC: tegra20-ac97: add missing clk_disable_unprepare() on error path
Add the missing clk_disable_unprepare() before return from tegra20_ac97_platform_probe() in the error handling case. Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Reviewed-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
parent
7637af2e17
commit
753834cb59
@ -404,7 +404,7 @@ static int tegra20_ac97_platform_probe(struct platform_device *pdev)
|
||||
ret = snd_soc_set_ac97_ops(&tegra20_ac97_ops);
|
||||
if (ret) {
|
||||
dev_err(&pdev->dev, "Failed to set AC'97 ops: %d\n", ret);
|
||||
goto err_asoc_utils_fini;
|
||||
goto err_clk_disable_unprepare;
|
||||
}
|
||||
|
||||
ret = snd_soc_register_component(&pdev->dev, &tegra20_ac97_component,
|
||||
@ -412,7 +412,7 @@ static int tegra20_ac97_platform_probe(struct platform_device *pdev)
|
||||
if (ret) {
|
||||
dev_err(&pdev->dev, "Could not register DAI: %d\n", ret);
|
||||
ret = -ENOMEM;
|
||||
goto err_asoc_utils_fini;
|
||||
goto err_clk_disable_unprepare;
|
||||
}
|
||||
|
||||
ret = tegra_pcm_platform_register(&pdev->dev);
|
||||
@ -428,6 +428,8 @@ static int tegra20_ac97_platform_probe(struct platform_device *pdev)
|
||||
|
||||
err_unregister_component:
|
||||
snd_soc_unregister_component(&pdev->dev);
|
||||
err_clk_disable_unprepare:
|
||||
clk_disable_unprepare(ac97->clk_ac97);
|
||||
err_asoc_utils_fini:
|
||||
tegra_asoc_utils_fini(&ac97->util_data);
|
||||
err_clk_put:
|
||||
|
Loading…
Reference in New Issue
Block a user