summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/isci/remote_device.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2011-05-02 13:59:25 -0700
committerDan Williams <dan.j.williams@intel.com>2011-07-03 04:04:46 -0700
commitd06b487b78f28a02efdcdcc9ec295bf230b9d0e8 (patch)
tree7be7614402ec7cd7f3b90455d2162b62b28418de /drivers/scsi/isci/remote_device.c
parent5b3f2bd877382eaf4b5a7d90fdec72ef14b9ec97 (diff)
isci: implement I_T_nexus_reset
This is a requirement for 2.6.39's new libata eh. Still some questions about lldd_dev_gone racing against dev->lldd_dev lookups, but we are at least no more broken than mvsas in this regard. We also short-circuit I_T_nexus_reset invocations from the device discovery path (IDEV_EH similar to MVS_DEV_EH) to filter out the resulting domain rediscoveries triggered by the reset. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/scsi/isci/remote_device.c')
-rw-r--r--drivers/scsi/isci/remote_device.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/isci/remote_device.c b/drivers/scsi/isci/remote_device.c
index 15c1e6c3b22..ee6fe1db8f9 100644
--- a/drivers/scsi/isci/remote_device.c
+++ b/drivers/scsi/isci/remote_device.c
@@ -891,6 +891,7 @@ static void isci_remote_device_deconstruct(struct isci_host *ihost, struct isci_
clear_bit(IDEV_START_PENDING, &idev->flags);
clear_bit(IDEV_STOP_PENDING, &idev->flags);
+ clear_bit(IDEV_EH, &idev->flags);
wake_up(&ihost->eventq);
}