mmc: sh_mmcif: ensure run-time suspend call is processed before suspend
authorTeppei Kamijou <teppei.kamijou.yb@renesas.com>
Wed, 12 Dec 2012 14:38:06 +0000 (15:38 +0100)
committerChris Ball <cjb@laptop.org>
Mon, 28 Jan 2013 11:51:32 +0000 (06:51 -0500)
With this post-v2.6.35 change applied:

commit a0a1a5fd4fb15ec61117c759fe9f5c16c53d9e9c
Author: Tejun Heo <tj@kernel.org>
Date:   Tue Jun 29 10:07:12 2010 +0200
    workqueue: reimplement workqueue freeze using max_active

freeze_workqueues_begin() was introduced and workqueue now gets frozen
before device drivers suspend operations.

We have to ensure that run-time PM suspend operation completes before
system-wide suspend is started.

Signed-off-by: Teppei Kamijou <teppei.kamijou.yb@renesas.com>
Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/host/sh_mmcif.c

index 8b4e98e2b1300fbba66a5f91c633fc8b58573b35..2ff3e4774b67cf3a0f88a68051cbd9397f595ad6 100644 (file)
@@ -982,7 +982,7 @@ static void sh_mmcif_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
                        }
                }
                if (host->power) {
-                       pm_runtime_put(&host->pd->dev);
+                       pm_runtime_put_sync(&host->pd->dev);
                        clk_disable(host->hclk);
                        host->power = false;
                        if (ios->power_mode == MMC_POWER_OFF)