summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Skirvin <jeffrey.d.skirvin@intel.com>2012-03-09 07:41:53 +0100
committerDan Williams <dan.j.williams@intel.com>2012-05-17 23:33:38 +0200
commitd80ecd5726ce49b5da457d562804b40f0183e8f7 (patch)
treebc3d6218f40d014f69edc3467c22fc533e269aa0
parentisci: Remote device stop also suspends the RNC and terminates I/O. (diff)
downloadlinux-d80ecd5726ce49b5da457d562804b40f0183e8f7.tar.xz
linux-d80ecd5726ce49b5da457d562804b40f0183e8f7.zip
isci: Escalate to I_T_Nexus_Reset when the device is gone.
If LUN reset sees that the device is gone, it returns TMF_RESP_FUNC_FAILED to cause libsas to escalate to an I_T_Nexus_Reset. Signed-off-by: Jeff Skirvin <jeffrey.d.skirvin@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
-rw-r--r--drivers/scsi/isci/task.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/scsi/isci/task.c b/drivers/scsi/isci/task.c
index 9b8632f33dd9..26de06ef688e 100644
--- a/drivers/scsi/isci/task.c
+++ b/drivers/scsi/isci/task.c
@@ -842,10 +842,10 @@ int isci_task_lu_reset(struct domain_device *dev, u8 *lun)
__func__, dev, ihost, isci_device);
if (!isci_device) {
- /* If the device is gone, stop the escalations. */
+ /* If the device is gone, escalate to I_T_Nexus_Reset. */
dev_dbg(&ihost->pdev->dev, "%s: No dev\n", __func__);
- ret = TMF_RESP_FUNC_COMPLETE;
+ ret = TMF_RESP_FUNC_FAILED;
goto out;
}
if (isci_remote_device_suspend(ihost, isci_device) != SCI_SUCCESS) {