summaryrefslogtreecommitdiff
path: root/drivers/scsi/isci
diff options
context:
space:
mode:
authorJeff Skirvin <jeffrey.d.skirvin@intel.com>2012-03-08 22:41:56 -0800
committerDan Williams <dan.j.williams@intel.com>2012-05-17 14:33:39 -0700
commit033751f6643adf616b85ac5eea7ce784bdde1b50 (patch)
tree77135e835a84ce987c87fe2623238eab195bfa80 /drivers/scsi/isci
parentaa20d9343079b1f0bebd43dec82ecfd4af5e43da (diff)
downloadkernel-common-033751f6643adf616b85ac5eea7ce784bdde1b50.tar.gz
kernel-common-033751f6643adf616b85ac5eea7ce784bdde1b50.tar.bz2
kernel-common-033751f6643adf616b85ac5eea7ce784bdde1b50.zip
isci: Only set IDEV_GONE in the device stop path.
Signed-off-by: Jeff Skirvin <jeffrey.d.skirvin@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/scsi/isci')
-rw-r--r--drivers/scsi/isci/port.c23
-rw-r--r--drivers/scsi/isci/remote_device.c3
2 files changed, 0 insertions, 26 deletions
diff --git a/drivers/scsi/isci/port.c b/drivers/scsi/isci/port.c
index f1866b0dc195..da0c4e1b9b30 100644
--- a/drivers/scsi/isci/port.c
+++ b/drivers/scsi/isci/port.c
@@ -240,32 +240,9 @@ static void isci_port_link_down(struct isci_host *isci_host,
struct isci_phy *isci_phy,
struct isci_port *isci_port)
{
- struct isci_remote_device *isci_device;
-
dev_dbg(&isci_host->pdev->dev,
"%s: isci_port = %p\n", __func__, isci_port);
- if (isci_port) {
-
- /* check to see if this is the last phy on this port. */
- if (isci_phy->sas_phy.port &&
- isci_phy->sas_phy.port->num_phys == 1) {
- /* change the state for all devices on this port. The
- * next task sent to this device will be returned as
- * SAS_TASK_UNDELIVERED, and the scsi mid layer will
- * remove the target
- */
- list_for_each_entry(isci_device,
- &isci_port->remote_dev_list,
- node) {
- dev_dbg(&isci_host->pdev->dev,
- "%s: isci_device = %p\n",
- __func__, isci_device);
- set_bit(IDEV_GONE, &isci_device->flags);
- }
- }
- }
-
/* Notify libsas of the borken link, this will trigger calls to our
* isci_port_deformed and isci_dev_gone functions.
*/
diff --git a/drivers/scsi/isci/remote_device.c b/drivers/scsi/isci/remote_device.c
index cf5d554e5056..b26ab05107dd 100644
--- a/drivers/scsi/isci/remote_device.c
+++ b/drivers/scsi/isci/remote_device.c
@@ -195,9 +195,6 @@ static void isci_remote_device_not_ready(struct isci_host *ihost,
"%s: isci_device = %p; reason = %d\n", __func__, idev, reason);
switch (reason) {
- case SCIC_REMOTE_DEVICE_NOT_READY_STOP_REQUESTED:
- set_bit(IDEV_GONE, &idev->flags);
- break;
case SCIC_REMOTE_DEVICE_NOT_READY_SATA_SDB_ERROR_FIS_RECEIVED:
set_bit(IDEV_IO_NCQERROR, &idev->flags);