On 8 August 2017 at 07:57, Arvind Yadav <arvind.yadav.cs@xxxxxxxxx> wrote: > clk_prepare_enable() can fail here and we must check its return value. > > Signed-off-by: Arvind Yadav <arvind.yadav.cs@xxxxxxxxx> Thanks, applied for next! Kind regards Uffe > --- > drivers/mmc/host/mxcmmc.c | 25 +++++++++++++++++++------ > 1 file changed, 19 insertions(+), 6 deletions(-) > > diff --git a/drivers/mmc/host/mxcmmc.c b/drivers/mmc/host/mxcmmc.c > index fb3ca82..c016820 100644 > --- a/drivers/mmc/host/mxcmmc.c > +++ b/drivers/mmc/host/mxcmmc.c > @@ -1098,8 +1098,13 @@ static int mxcmci_probe(struct platform_device *pdev) > goto out_free; > } > > - clk_prepare_enable(host->clk_per); > - clk_prepare_enable(host->clk_ipg); > + ret = clk_prepare_enable(host->clk_per); > + if (ret) > + goto out_free; > + > + ret = clk_prepare_enable(host->clk_ipg); > + if (ret) > + goto out_clk_per_put; > > mxcmci_softreset(host); > > @@ -1168,8 +1173,9 @@ static int mxcmci_probe(struct platform_device *pdev) > dma_release_channel(host->dma); > > out_clk_put: > - clk_disable_unprepare(host->clk_per); > clk_disable_unprepare(host->clk_ipg); > +out_clk_per_put: > + clk_disable_unprepare(host->clk_per); > > out_free: > mmc_free_host(mmc); > @@ -1212,10 +1218,17 @@ static int __maybe_unused mxcmci_resume(struct device *dev) > { > struct mmc_host *mmc = dev_get_drvdata(dev); > struct mxcmci_host *host = mmc_priv(mmc); > + int ret; > > - clk_prepare_enable(host->clk_per); > - clk_prepare_enable(host->clk_ipg); > - return 0; > + ret = clk_prepare_enable(host->clk_per); > + if (ret) > + 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); > -- > 1.9.1 > -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html