From patchwork Wed Dec 12 14:38:06 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Guennadi Liakhovetski X-Patchwork-Id: 1867401 Return-Path: X-Original-To: patchwork-linux-mmc@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 05FB03FC81 for ; Wed, 12 Dec 2012 14:38:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754320Ab2LLOih (ORCPT ); Wed, 12 Dec 2012 09:38:37 -0500 Received: from moutng.kundenserver.de ([212.227.126.171]:49414 "EHLO moutng.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754328Ab2LLOi3 (ORCPT ); Wed, 12 Dec 2012 09:38:29 -0500 Received: from axis700.grange (dslb-146-060-250-080.pools.arcor-ip.net [146.60.250.80]) by mrelayeu.kundenserver.de (node=mreu1) with ESMTP (Nemesis) id 0LpAhs-1TEwH41Ad2-00fMLX; Wed, 12 Dec 2012 15:38:22 +0100 Received: from 6a.grange (6a.grange [192.168.1.11]) by axis700.grange (Postfix) with ESMTPS id 5AD0040B99; Wed, 12 Dec 2012 15:38:21 +0100 (CET) Received: from lyakh by 6a.grange with local (Exim 4.72) (envelope-from ) id 1TinRy-0004i6-Lx; Wed, 12 Dec 2012 15:38:18 +0100 From: Guennadi Liakhovetski To: linux-mmc@vger.kernel.org Cc: linux-sh@vger.kernel.org, Magnus Damm , Chris Ball , Teppei Kamijou Subject: [PATCH 02/14] mmc: sh_mmcif: ensure run-time suspend call is processed before suspend Date: Wed, 12 Dec 2012 15:38:06 +0100 Message-Id: <1355323098-18061-3-git-send-email-g.liakhovetski@gmx.de> X-Mailer: git-send-email 1.7.2.5 In-Reply-To: <1355323098-18061-1-git-send-email-g.liakhovetski@gmx.de> References: <1355323098-18061-1-git-send-email-g.liakhovetski@gmx.de> X-Provags-ID: V02:K0:WgeSdd51YpOGJc7tXmTKGveNEIudUzls0VAuBh0hW8J gC7zyeBncX0n9PEh7ck5eQFh9WUPisrRSkTYVXngx6/AvOQh4u kBYDMBLonxcoOImUrnfeeokQTmcsiKzvMKiwP/vAcZJbzmMq02 kzcU6rZ1t2pDQU3CIiLWUWJFCWgxdhvdpPrSDm23pWz/PletrQ 7eIcaKIDXgDrLd3WVBsz+3gdNVAKLs1iSh0wBMdN4ItGYv8K6Q Qr2W/9MCP0Lf3u0iBG3yMVR7NdYD1eLBgpuw3B1YNJ9siRP7FP tqwnrdRj1F7kawMuXjNwsiaACuRmjVE+MxEFUd4M8uxEoYyGhb PlOm3duUqDf7d3lh8dqphPmcx93zBTIpMfZqIavWNAhIzXCdrn IG8/fvCI800zQ== Sender: linux-mmc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mmc@vger.kernel.org From: Teppei Kamijou With this post-v2.6.35 change applied: commit a0a1a5fd4fb15ec61117c759fe9f5c16c53d9e9c Author: Tejun Heo 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. igned-off-by: Teppei Kamijou igned-off-by: Shinya Kuribayashi Signed-off-by: Guennadi Liakhovetski --- drivers/mmc/host/sh_mmcif.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/mmc/host/sh_mmcif.c b/drivers/mmc/host/sh_mmcif.c index 543f6ce..8a188fe 100644 --- a/drivers/mmc/host/sh_mmcif.c +++ b/drivers/mmc/host/sh_mmcif.c @@ -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)