mmc: sdhci-esdhc-imx: Changes the order of how clocks are being re-enabled
runtime_resume() should re-enable the clocks in reverse order comparing with runtime_suspend() Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
371d39fabc
commit
a0ad308758
|
@ -1411,31 +1411,33 @@ static int sdhci_esdhc_runtime_resume(struct device *dev)
|
|||
struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
|
||||
int err;
|
||||
|
||||
err = clk_prepare_enable(imx_data->clk_ahb);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
if (!sdhci_sdio_irq_enabled(host)) {
|
||||
err = clk_prepare_enable(imx_data->clk_per);
|
||||
if (err)
|
||||
return err;
|
||||
goto disable_ahb_clk;
|
||||
err = clk_prepare_enable(imx_data->clk_ipg);
|
||||
if (err)
|
||||
goto disable_per_clk;
|
||||
}
|
||||
err = clk_prepare_enable(imx_data->clk_ahb);
|
||||
if (err)
|
||||
goto disable_ipg_clk;
|
||||
|
||||
err = sdhci_runtime_resume_host(host);
|
||||
if (err)
|
||||
goto disable_ahb_clk;
|
||||
goto disable_ipg_clk;
|
||||
|
||||
return 0;
|
||||
|
||||
disable_ahb_clk:
|
||||
clk_disable_unprepare(imx_data->clk_ahb);
|
||||
disable_ipg_clk:
|
||||
if (!sdhci_sdio_irq_enabled(host))
|
||||
clk_disable_unprepare(imx_data->clk_ipg);
|
||||
disable_per_clk:
|
||||
if (!sdhci_sdio_irq_enabled(host))
|
||||
clk_disable_unprepare(imx_data->clk_per);
|
||||
disable_ahb_clk:
|
||||
clk_disable_unprepare(imx_data->clk_ahb);
|
||||
return err;
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue