Commit a2bc74cf authored by Arvind Yadav's avatar Arvind Yadav Committed by Ulf Hansson

mmc: mxcmmc: Handle return value of clk_prepare_enable

clk_prepare_enable() can fail here and we must check its return value.
Signed-off-by: default avatarArvind Yadav <arvind.yadav.cs@gmail.com>
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent 78bb1fd7
...@@ -1103,8 +1103,13 @@ static int mxcmci_probe(struct platform_device *pdev) ...@@ -1103,8 +1103,13 @@ static int mxcmci_probe(struct platform_device *pdev)
goto out_free; goto out_free;
} }
clk_prepare_enable(host->clk_per); ret = clk_prepare_enable(host->clk_per);
clk_prepare_enable(host->clk_ipg); if (ret)
goto out_free;
ret = clk_prepare_enable(host->clk_ipg);
if (ret)
goto out_clk_per_put;
mxcmci_softreset(host); mxcmci_softreset(host);
...@@ -1173,8 +1178,9 @@ static int mxcmci_probe(struct platform_device *pdev) ...@@ -1173,8 +1178,9 @@ static int mxcmci_probe(struct platform_device *pdev)
dma_release_channel(host->dma); dma_release_channel(host->dma);
out_clk_put: out_clk_put:
clk_disable_unprepare(host->clk_per);
clk_disable_unprepare(host->clk_ipg); clk_disable_unprepare(host->clk_ipg);
out_clk_per_put:
clk_disable_unprepare(host->clk_per);
out_free: out_free:
mmc_free_host(mmc); mmc_free_host(mmc);
...@@ -1217,10 +1223,17 @@ static int __maybe_unused mxcmci_resume(struct device *dev) ...@@ -1217,10 +1223,17 @@ static int __maybe_unused mxcmci_resume(struct device *dev)
{ {
struct mmc_host *mmc = dev_get_drvdata(dev); struct mmc_host *mmc = dev_get_drvdata(dev);
struct mxcmci_host *host = mmc_priv(mmc); struct mxcmci_host *host = mmc_priv(mmc);
int ret;
clk_prepare_enable(host->clk_per); ret = clk_prepare_enable(host->clk_per);
clk_prepare_enable(host->clk_ipg); if (ret)
return 0; return ret;
ret = clk_prepare_enable(host->clk_ipg);
if (ret)
clk_disable_unprepare(host->clk_per);
return ret;
} }
static SIMPLE_DEV_PM_OPS(mxcmci_pm_ops, mxcmci_suspend, mxcmci_resume); static SIMPLE_DEV_PM_OPS(mxcmci_pm_ops, mxcmci_suspend, mxcmci_resume);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment