diff options
author | Mark Brown <broonie@kernel.org> | 2019-04-02 16:20:47 +0700 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2019-04-02 16:20:47 +0700 |
commit | 6d5e2bf9d203e4d9e08ca2e9420c6ff22ad190af (patch) | |
tree | c2c20648773d3326f942e34ef73b06566f7a19ec /drivers/scsi/scsi_sysfs.c | |
parent | b820d52e7eed7b30b2dfef5f4213a2bc3cbea6f3 (diff) | |
parent | 257f9053c0204ea47491aa236004fd1226f75fa8 (diff) |
Merge branch 'acpi-utils' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm into asoc-5.2
Diffstat (limited to 'drivers/scsi/scsi_sysfs.c')
-rw-r--r-- | drivers/scsi/scsi_sysfs.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c index 6a9040faed00..3b119ca0cc0c 100644 --- a/drivers/scsi/scsi_sysfs.c +++ b/drivers/scsi/scsi_sysfs.c @@ -771,6 +771,12 @@ store_state_field(struct device *dev, struct device_attribute *attr, mutex_lock(&sdev->state_mutex); ret = scsi_device_set_state(sdev, state); + /* + * If the device state changes to SDEV_RUNNING, we need to run + * the queue to avoid I/O hang. + */ + if (ret == 0 && state == SDEV_RUNNING) + blk_mq_run_hw_queues(sdev->request_queue, true); mutex_unlock(&sdev->state_mutex); return ret == 0 ? count : -EINVAL; |