isci: Only set IDEV_GONE in the device stop path.
authorJeff Skirvin <jeffrey.d.skirvin@intel.com>
Fri, 9 Mar 2012 06:41:56 +0000 (22:41 -0800)
committerDan Williams <dan.j.williams@intel.com>
Thu, 17 May 2012 21:33:39 +0000 (14:33 -0700)
Signed-off-by: Jeff Skirvin <jeffrey.d.skirvin@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/scsi/isci/port.c
drivers/scsi/isci/remote_device.c

index f1866b0dc195142378291587ed4a1c2ff114f3d6..da0c4e1b9b3061122932ce6d5921eb673008a586 100644 (file)
@@ -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.
         */
index cf5d554e50565fbeeeb0a22c46302d5f1aa0417c..b26ab05107dd8a550845fd281fa8e5aa43baf502 100644 (file)
@@ -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);