diff options
author | Tejun Heo <tj@kernel.org> | 2015-08-03 11:46:39 -0400 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2015-08-03 12:01:54 -0400 |
commit | 74a80d67b8316eb3fbeb73dafc060a5a0a708587 (patch) | |
tree | 22a062046b8d158a729343842dbcf1961f4f0ba0 /drivers/ata/libata-scsi.c | |
parent | 84ded2f8e7dda336fc2fb3570726ceb3b3b3590f (diff) | |
download | kernel_replicant_linux-74a80d67b8316eb3fbeb73dafc060a5a0a708587.tar.gz kernel_replicant_linux-74a80d67b8316eb3fbeb73dafc060a5a0a708587.tar.bz2 kernel_replicant_linux-74a80d67b8316eb3fbeb73dafc060a5a0a708587.zip |
Revert "libata: Implement NCQ autosense"
This reverts commit 42b966fbf35da9c87f08d98f9b8978edf9e717cf.
As implemented, ACS-4 sense reporting for ATA devices bypasses error
diagnosis and handling in libata degrading EH behavior significantly.
Revert the related changes for now.
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Hannes Reinecke <hare@suse.de>
Cc: stable@vger.kernel.org #v4.1+
Diffstat (limited to 'drivers/ata/libata-scsi.c')
-rw-r--r-- | drivers/ata/libata-scsi.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index e1ecd2ab3724..0d7f0da3a269 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c @@ -270,11 +270,8 @@ DEVICE_ATTR(unload_heads, S_IRUGO | S_IWUSR, ata_scsi_park_show, ata_scsi_park_store); EXPORT_SYMBOL_GPL(dev_attr_unload_heads); -void ata_scsi_set_sense(struct scsi_cmnd *cmd, u8 sk, u8 asc, u8 ascq) +static void ata_scsi_set_sense(struct scsi_cmnd *cmd, u8 sk, u8 asc, u8 ascq) { - if (!cmd) - return; - cmd->result = (DRIVER_SENSE << 24) | SAM_STAT_CHECK_CONDITION; scsi_build_sense_buffer(0, cmd->sense_buffer, sk, asc, ascq); @@ -1780,9 +1777,7 @@ static void ata_scsi_qc_complete(struct ata_queued_cmd *qc) ((cdb[2] & 0x20) || need_sense)) { ata_gen_passthru_sense(qc); } else { - if (qc->flags & ATA_QCFLAG_SENSE_VALID) { - cmd->result = SAM_STAT_CHECK_CONDITION; - } else if (!need_sense) { + if (!need_sense) { cmd->result = SAM_STAT_GOOD; } else { /* TODO: decide which descriptor format to use |