scsi: smartpqi: do not offline disks for transient did no connect conditions
authorDave Carroll <david.carroll@microsemi.com>
Fri, 7 Dec 2018 22:29:37 +0000 (16:29 -0600)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 20 Dec 2018 03:23:35 +0000 (22:23 -0500)
Reviewed-by: Murthy Bhat <murthy.bhat@microsemi.com>
Reviewed-by: Mahesh Rajashekhara <mahesh.rajashekhara@microsemi.com>
Reviewed-by: Scott Teel <scott.teel@microsemi.com>
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com>
Signed-off-by: Dave Carroll <david.carroll@microsemi.com>
Signed-off-by: Don Brace <don.brace@microsemi.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/smartpqi/smartpqi_init.c

index d6fb49496796fb51fefaf1cbb440e15ca2fff243..f4080ac832dd0b515626768c259395a5a71c2248 100644 (file)
@@ -1686,6 +1686,7 @@ static void pqi_scsi_update_device(struct pqi_scsi_dev *existing_device,
                new_device->raid_bypass_configured;
        existing_device->raid_bypass_enabled =
                new_device->raid_bypass_enabled;
+       existing_device->device_offline = false;
 
        /* To prevent this from being freed later. */
        new_device->raid_map = NULL;
@@ -2589,10 +2590,9 @@ static inline void pqi_take_device_offline(struct scsi_device *sdev, char *path)
                return;
 
        device->device_offline = true;
-       scsi_device_set_state(sdev, SDEV_OFFLINE);
        ctrl_info = shost_to_hba(sdev->host);
        pqi_schedule_rescan_worker(ctrl_info);
-       dev_err(&ctrl_info->pci_dev->dev, "offlined %s scsi %d:%d:%d:%d\n",
+       dev_err(&ctrl_info->pci_dev->dev, "re-scanning %s scsi %d:%d:%d:%d\n",
                path, ctrl_info->scsi_host->host_no, device->bus,
                device->target, device->lun);
 }