summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsi_pm.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2016-05-03 16:09:56 +0200
committerMark Brown <broonie@kernel.org>2016-05-03 16:09:56 +0200
commitbc0868c62bb13834b20a864f684cced1f84a2412 (patch)
tree2c382dcd24ac95f4dbf53d238d3161d6171d8a4b /drivers/scsi/scsi_pm.c
parentregulator: pwm: Try to avoid voltage error in duty cycle calculation (diff)
parentregulator: pwm: Use pwm_get_args() where appropriate (diff)
downloadlinux-bc0868c62bb13834b20a864f684cced1f84a2412.tar.xz
linux-bc0868c62bb13834b20a864f684cced1f84a2412.zip
Merge branch 'for-4.7/pwm-regulator' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm into regulator-pwm
Diffstat (limited to 'drivers/scsi/scsi_pm.c')
-rw-r--r--drivers/scsi/scsi_pm.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/scsi/scsi_pm.c b/drivers/scsi/scsi_pm.c
index 459abe1dcc87..b44c1bb687a2 100644
--- a/drivers/scsi/scsi_pm.c
+++ b/drivers/scsi/scsi_pm.c
@@ -139,6 +139,16 @@ static int scsi_bus_resume_common(struct device *dev,
else
fn = NULL;
+ /*
+ * Forcibly set runtime PM status of request queue to "active" to
+ * make sure we can again get requests from the queue (see also
+ * blk_pm_peek_request()).
+ *
+ * The resume hook will correct runtime PM status of the disk.
+ */
+ if (scsi_is_sdev_device(dev) && pm_runtime_suspended(dev))
+ blk_set_runtime_active(to_scsi_device(dev)->request_queue);
+
if (fn) {
async_schedule_domain(fn, dev, &scsi_sd_pm_domain);