Message ID | 20220217132956.484818-26-damien.lemoal@opensource.wdc.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | libsas and pm8001 fixes | expand |
On Thu, Feb 17, 2022 at 2:30 PM Damien Le Moal <damien.lemoal@opensource.wdc.com> wrote: > > 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. > > Reviewed-by: John Garry <john.garry@huawei.com> > Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com> Reviewed-by: Jack Wang <jinpu.wang@ionos.com> > --- > drivers/scsi/pm8001/pm8001_sas.c | 14 +++++--------- > 1 file changed, 5 insertions(+), 9 deletions(-) > > diff --git a/drivers/scsi/pm8001/pm8001_sas.c b/drivers/scsi/pm8001/pm8001_sas.c > index 0440777a9135..1e60ad82635e 100644 > --- a/drivers/scsi/pm8001/pm8001_sas.c > +++ b/drivers/scsi/pm8001/pm8001_sas.c > @@ -304,16 +304,12 @@ static int pm8001_task_prep_smp(struct pm8001_hba_info *pm8001_ha, > u32 pm8001_get_ncq_tag(struct sas_task *task, u32 *tag) > { > struct ata_queued_cmd *qc = task->uldd_task; > - if (qc) { > - 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) { > - *tag = qc->tag; > - return 1; > - } > + > + if (qc && ata_is_ncq(qc->tf.protocol)) { > + *tag = qc->tag; > + return 1; > } > + > return 0; > } > > -- > 2.34.1 >
diff --git a/drivers/scsi/pm8001/pm8001_sas.c b/drivers/scsi/pm8001/pm8001_sas.c index 0440777a9135..1e60ad82635e 100644 --- a/drivers/scsi/pm8001/pm8001_sas.c +++ b/drivers/scsi/pm8001/pm8001_sas.c @@ -304,16 +304,12 @@ static int pm8001_task_prep_smp(struct pm8001_hba_info *pm8001_ha, u32 pm8001_get_ncq_tag(struct sas_task *task, u32 *tag) { struct ata_queued_cmd *qc = task->uldd_task; - if (qc) { - 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) { - *tag = qc->tag; - return 1; - } + + if (qc && ata_is_ncq(qc->tf.protocol)) { + *tag = qc->tag; + return 1; } + return 0; }