Patchwork [1/3,SCSI] sd: fix runtime status check in sd_shutdown

login
register
mail settings
Submitter Lin Ming
Date Dec. 14, 2011, 1:24 p.m.
Message ID <1323869071.2656.7.camel@hp6530s>
Download mbox | patch
Permalink /patch/131377/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Lin Ming - Dec. 14, 2011, 1:24 p.m.
On Wed, 2011-12-14 at 18:58 +0800, Sergei Shtylyov wrote:
> Hello.
> 
> On 14-12-2011 7:17, Lin Ming wrote:
> 
> > Commit af8db15 disabled device's runtime PM during shutdown.
> 
>     Please also specify that commit's summary in parens.

OK. Here it is.

From 7e3dcebe235d005126c03a3976bca859691110bc Mon Sep 17 00:00:00 2001
From: Lin Ming <ming.m.lin@intel.com>
Date: Wed, 14 Dec 2011 10:14:21 +0800
Subject: [PATCH 1/3] [SCSI] sd: fix runtime status check in sd_shutdown

Commit af8db15(PM / driver core: disable device's runtime PM during
shutdown) makes pm_runtime_suspended(dev) always return false.
So sd's runtime status can't be checked with pm_runtime_suspended(dev)
any more.

Fix it by checking runtime status with pm_runtime_status_suspended(dev).

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
---
 drivers/scsi/sd.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

Patch

diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 7b3f807..284b087 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -2742,7 +2742,12 @@  static void sd_shutdown(struct device *dev)
 	if (!sdkp)
 		return;         /* this can happen */
 
-	if (pm_runtime_suspended(dev))
+	/*
+	 * Check runtime status with pm_runtime_status_suspended(dev)
+	 * instead of pm_runtime_suspended(dev),
+	 * because device_shutdown() has disabled the device's runtime PM.
+	 */
+	if (pm_runtime_status_suspended(dev))
 		goto exit;
 
 	if (sdkp->WCE) {