Browse Source

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>
Jeff Skirvin 13 years ago
parent
commit
033751f664
2 changed files with 0 additions and 26 deletions
  1. 0 23
      drivers/scsi/isci/port.c
  2. 0 3
      drivers/scsi/isci/remote_device.c

+ 0 - 23
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.
 	 */

+ 0 - 3
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);