On 11 February 2016 at 13:59, Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote: > While accessing the device, make sure it stays active by increasing the > runtime PM usage count for it. > > Let's also defer to enable runtime PM until we really need access to the > device. This also enables the error path in ->probe() to become simpler. > > Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Nguyen, sorry for bothering you. Did you manage to test out these three patches? Even if it doesn't solve the original issue that you reported [1], perhaps these can anyway be useful as cleanups? Kind regards Uffe [1] http://www.spinics.net/lists/linux-sh/msg47766.html > --- > drivers/mmc/host/sh_mmcif.c | 15 ++++++++------- > 1 file changed, 8 insertions(+), 7 deletions(-) > > diff --git a/drivers/mmc/host/sh_mmcif.c b/drivers/mmc/host/sh_mmcif.c > index 8d870ce..c6c2a08 100644 > --- a/drivers/mmc/host/sh_mmcif.c > +++ b/drivers/mmc/host/sh_mmcif.c > @@ -1519,23 +1519,23 @@ static int sh_mmcif_probe(struct platform_device *pdev) > > platform_set_drvdata(pdev, host); > > - pm_runtime_enable(dev); > - host->power = false; > - > host->clk = devm_clk_get(dev, NULL); > if (IS_ERR(host->clk)) { > ret = PTR_ERR(host->clk); > dev_err(dev, "cannot get clock: %d\n", ret); > - goto err_pm; > + goto err_host; > } > > ret = clk_prepare_enable(host->clk); > if (ret < 0) > - goto err_pm; > + goto err_host; > > sh_mmcif_clk_setup(host); > > - ret = pm_runtime_resume(dev); > + pm_runtime_enable(dev); > + host->power = false; > + > + ret = pm_runtime_get_sync(dev); > if (ret < 0) > goto err_clk; > > @@ -1579,12 +1579,13 @@ static int sh_mmcif_probe(struct platform_device *pdev) > sh_mmcif_readl(host->addr, MMCIF_CE_VERSION) & 0xffff, > clk_get_rate(host->clk) / 1000000UL); > > + pm_runtime_put(dev); > clk_disable_unprepare(host->clk); > return ret; > > err_clk: > clk_disable_unprepare(host->clk); > -err_pm: > + pm_runtime_put_sync(dev); > pm_runtime_disable(dev); > err_host: > mmc_free_host(mmc); > -- > 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