mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-25 10:19:47 +00:00
SCSI fixes on 20200522
Three minor fixes, two in drivers, one to fix a hang after reset with iSCSI, and one to avoid a spurious log message; and the final core one to correct a suspend/resume miscount with quiesced devices. Signed-off-by: James E.J. Bottomley <jejb@linux.ibm.com> -----BEGIN PGP SIGNATURE----- iJwEABMIAEQWIQTnYEDbdso9F2cI+arnQslM7pishQUCXshxRSYcamFtZXMuYm90 dG9tbGV5QGhhbnNlbnBhcnRuZXJzaGlwLmNvbQAKCRDnQslM7pishSESAP438CQw i6vSozXyTQkxBMokvxKVvoRLf3jK03z0PvAyfgD7BW4/3CuO1dZVCsQJF62bUoEx FwMTuWFO2d+Qoeo+3yk= =VssU -----END PGP SIGNATURE----- Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI fixes from James Bottomley: "Three minor fixes, two in drivers, one to fix a hang after reset with iSCSI, and one to avoid a spurious log message; and the final core one to correct a suspend/resume miscount with quiesced devices" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: scsi: target: Put lun_ref at end of tmr processing scsi: pm: Balance pm_only counter of request queue during system resume scsi: qla2xxx: Do not log message when reading port speed via sysfs
This commit is contained in:
commit
e644645abf
3 changed files with 9 additions and 5 deletions
|
@ -1850,9 +1850,6 @@ qla2x00_port_speed_show(struct device *dev, struct device_attribute *attr,
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
ql_log(ql_log_info, vha, 0x70d6,
|
|
||||||
"port speed:%d\n", ha->link_data_rate);
|
|
||||||
|
|
||||||
return scnprintf(buf, PAGE_SIZE, "%s\n", spd[ha->link_data_rate]);
|
return scnprintf(buf, PAGE_SIZE, "%s\n", spd[ha->link_data_rate]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -80,6 +80,10 @@ static int scsi_dev_type_resume(struct device *dev,
|
||||||
dev_dbg(dev, "scsi resume: %d\n", err);
|
dev_dbg(dev, "scsi resume: %d\n", err);
|
||||||
|
|
||||||
if (err == 0) {
|
if (err == 0) {
|
||||||
|
bool was_runtime_suspended;
|
||||||
|
|
||||||
|
was_runtime_suspended = pm_runtime_suspended(dev);
|
||||||
|
|
||||||
pm_runtime_disable(dev);
|
pm_runtime_disable(dev);
|
||||||
err = pm_runtime_set_active(dev);
|
err = pm_runtime_set_active(dev);
|
||||||
pm_runtime_enable(dev);
|
pm_runtime_enable(dev);
|
||||||
|
@ -93,8 +97,10 @@ static int scsi_dev_type_resume(struct device *dev,
|
||||||
*/
|
*/
|
||||||
if (!err && scsi_is_sdev_device(dev)) {
|
if (!err && scsi_is_sdev_device(dev)) {
|
||||||
struct scsi_device *sdev = to_scsi_device(dev);
|
struct scsi_device *sdev = to_scsi_device(dev);
|
||||||
|
if (was_runtime_suspended)
|
||||||
blk_set_runtime_active(sdev->request_queue);
|
blk_post_runtime_resume(sdev->request_queue, 0);
|
||||||
|
else
|
||||||
|
blk_set_runtime_active(sdev->request_queue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3350,6 +3350,7 @@ static void target_tmr_work(struct work_struct *work)
|
||||||
|
|
||||||
cmd->se_tfo->queue_tm_rsp(cmd);
|
cmd->se_tfo->queue_tm_rsp(cmd);
|
||||||
|
|
||||||
|
transport_lun_remove_cmd(cmd);
|
||||||
transport_cmd_check_stop_to_fabric(cmd);
|
transport_cmd_check_stop_to_fabric(cmd);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue