]> git.baikalelectronics.ru Git - kernel.git/commitdiff
scsi: libsas: Simplify sas_ata_qc_issue() detection of NCQ commands
authorDamien Le Moal <damien.lemoal@opensource.wdc.com>
Sun, 20 Feb 2022 03:18:02 +0000 (12:18 +0900)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 23 Feb 2022 02:31:20 +0000 (21:31 -0500)
To detect if a command is NCQ, there is no need to test all possible NCQ
command codes. Instead, use ata_is_ncq() to test the command protocol.

Link: https://lore.kernel.org/r/20220220031810.738362-24-damien.lemoal@opensource.wdc.com
Reviewed-by: John Garry <john.garry@huawei.com>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/libsas/sas_ata.c

index dd4ae5e8cb5cc6907b2eb1dc307153dd45adc0ff..d34c82e24d9ae29fd5150a7871849fcca6f5421b 100644 (file)
@@ -179,14 +179,9 @@ static unsigned int sas_ata_qc_issue(struct ata_queued_cmd *qc)
        task->task_proto = SAS_PROTOCOL_STP;
        task->task_done = sas_ata_task_done;
 
-       if (qc->tf.command == ATA_CMD_FPDMA_WRITE ||
-           qc->tf.command == ATA_CMD_FPDMA_READ ||
-           qc->tf.command == ATA_CMD_FPDMA_RECV ||
-           qc->tf.command == ATA_CMD_FPDMA_SEND ||
-           qc->tf.command == ATA_CMD_NCQ_NON_DATA) {
-               /* Need to zero out the tag libata assigned us */
+       /* For NCQ commands, zero out the tag libata assigned us */
+       if (ata_is_ncq(qc->tf.protocol))
                qc->tf.nsect = 0;
-       }
 
        ata_tf_to_fis(&qc->tf, qc->dev->link->pmp, 1, (u8 *)&task->ata_task.fis);
        task->uldd_task = qc;