From 55580f7da90387b97e8d5c2e58f29a01576399b5 Mon Sep 17 00:00:00 2001 From: Lin Ming Date: Fri, 6 Jul 2012 12:06:57 +0800 Subject: [PATCH] --- yaml --- r: 316818 b: refs/heads/master c: 33a2285d96b5e7b9500612ec623bf4313397bb53 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/scsi/scsi_pm.c | 23 ++++++++++++----------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index 32636c1d59c5..c25f9909a222 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4bdd03e61b7a5c4c6bc2b25d46fcd491788fdfb3 +refs/heads/master: 33a2285d96b5e7b9500612ec623bf4313397bb53 diff --git a/trunk/drivers/scsi/scsi_pm.c b/trunk/drivers/scsi/scsi_pm.c index d4201ded3b22..dc0ad85853e2 100644 --- a/trunk/drivers/scsi/scsi_pm.c +++ b/trunk/drivers/scsi/scsi_pm.c @@ -76,23 +76,24 @@ static int scsi_bus_resume_common(struct device *dev) { int err = 0; - if (scsi_is_sdev_device(dev)) { - /* - * Parent device may have runtime suspended as soon as - * it is woken up during the system resume. - * - * Resume it on behalf of child. - */ - pm_runtime_get_sync(dev->parent); - err = scsi_dev_type_resume(dev); - pm_runtime_put_sync(dev->parent); - } + /* + * Parent device may have runtime suspended as soon as + * it is woken up during the system resume. + * + * Resume it on behalf of child. + */ + pm_runtime_get_sync(dev->parent); + if (scsi_is_sdev_device(dev)) + err = scsi_dev_type_resume(dev); if (err == 0) { pm_runtime_disable(dev); pm_runtime_set_active(dev); pm_runtime_enable(dev); } + + pm_runtime_put_sync(dev->parent); + return err; }