diff options
author | Dan Williams <dan.j.williams@intel.com> | 2011-12-08 00:37:25 -0800 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-02-29 15:16:05 -0600 |
commit | 6a719391e4a13d5fa2ec7642ef0c780d7f3f5716 (patch) | |
tree | 669d2569b29f930d2eeb895b2cc81e22e2878472 /drivers/scsi/isci/task.c | |
parent | 687833a03baae8308900486fa6499ef955fd07a9 (diff) |
[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.c | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/drivers/scsi/isci/task.c b/drivers/scsi/isci/task.c index 3f04e97128a..53069795748 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; -} |