|
@@ -3885,6 +3885,11 @@ _scsih_temp_threshold_events(struct MPT3SAS_ADAPTER *ioc,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+static inline bool ata_12_16_cmd(struct scsi_cmnd *scmd)
|
|
|
+{
|
|
|
+ return (scmd->cmnd[0] == ATA_12 || scmd->cmnd[0] == ATA_16);
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* _scsih_flush_running_cmds - completing outstanding commands.
|
|
|
* @ioc: per adapter object
|
|
@@ -3906,6 +3911,9 @@ _scsih_flush_running_cmds(struct MPT3SAS_ADAPTER *ioc)
|
|
|
if (!scmd)
|
|
|
continue;
|
|
|
count++;
|
|
|
+ if (ata_12_16_cmd(scmd))
|
|
|
+ scsi_internal_device_unblock(scmd->device,
|
|
|
+ SDEV_RUNNING);
|
|
|
mpt3sas_base_free_smid(ioc, smid);
|
|
|
scsi_dma_unmap(scmd);
|
|
|
if (ioc->pci_error_recovery)
|
|
@@ -4010,11 +4018,6 @@ _scsih_eedp_error_handling(struct scsi_cmnd *scmd, u16 ioc_status)
|
|
|
SAM_STAT_CHECK_CONDITION;
|
|
|
}
|
|
|
|
|
|
-static inline bool ata_12_16_cmd(struct scsi_cmnd *scmd)
|
|
|
-{
|
|
|
- return (scmd->cmnd[0] == ATA_12 || scmd->cmnd[0] == ATA_16);
|
|
|
-}
|
|
|
-
|
|
|
/**
|
|
|
* scsih_qcmd - main scsi request entry point
|
|
|
* @scmd: pointer to scsi command object
|