summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/isci/task.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2011-12-08 09:37:25 +0100
committerJames Bottomley <JBottomley@Parallels.com>2012-02-29 22:16:05 +0100
commit6a719391e4a13d5fa2ec7642ef0c780d7f3f5716 (patch)
tree669d2569b29f930d2eeb895b2cc81e22e2878472 /drivers/scsi/isci/task.c
parent[SCSI] isci: ->lldd_ata_check_ready handler (diff)
downloadlinux-6a719391e4a13d5fa2ec7642ef0c780d7f3f5716.tar.xz
linux-6a719391e4a13d5fa2ec7642ef0c780d7f3f5716.zip
[SCSI] isci: remove bus and reset handlers
Remove ->eh_device_reset_handler() and ->eh_bus_reset_handler() for the same reason they are not implemented for libata hosts, they cannot be implemented reliably with ata-eh. ATA error recovery wants to divert all resets to the eh thread and wait for completion, these handlers may be invoked from a non-blocking ioctl. The other path they are called from is libsas-eh, and if we escalate past I_T_nexus reset we have larger problems i.e. tear down all in-flight commands in the domain potentially without notification to the lldd if it has chosen not to implement ->lldd_clear_nexus_port() / ->lldd_clear_nexus_ha(). Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/isci/task.c')
-rw-r--r--drivers/scsi/isci/task.c23
1 files changed, 0 insertions, 23 deletions
diff --git a/drivers/scsi/isci/task.c b/drivers/scsi/isci/task.c
index 3f04e97128a6..530697957481 100644
--- a/drivers/scsi/isci/task.c
+++ b/drivers/scsi/isci/task.c
@@ -1322,26 +1322,3 @@ int isci_task_I_T_nexus_reset(struct domain_device *dev)
isci_put_device(idev);
return ret;
}
-
-int isci_bus_reset_handler(struct scsi_cmnd *cmd)
-{
- struct domain_device *dev = sdev_to_domain_dev(cmd->device);
- struct isci_host *ihost = dev_to_ihost(dev);
- struct isci_remote_device *idev;
- unsigned long flags;
- int ret;
-
- spin_lock_irqsave(&ihost->scic_lock, flags);
- idev = isci_lookup_device(dev);
- spin_unlock_irqrestore(&ihost->scic_lock, flags);
-
- if (!idev) {
- ret = TMF_RESP_FUNC_COMPLETE;
- goto out;
- }
-
- ret = isci_reset_device(ihost, dev, idev);
- out:
- isci_put_device(idev);
- return ret;
-}