On Thu, Feb 17, 2022 at 2:30 PM Damien Le Moal <damien.lemoal@xxxxxxxxxxxxxxxxxx> wrote: > > Since the sata_cmd struct is zeroed out before its fields are > initialized, there is no need for using "|=" to initialize the > ncqtag_atap_dir_m field. Using a standard assignment removes the sparse > warning: > > warning: invalid assignment: |= > > Also, since the ncqtag_atap_dir_m field has type __le32, use > cpu_to_le32() to generate the assigned value. > > Fixes: c6b9ef5779c3 ("[SCSI] pm80xx: NCQ error handling changes") > Reviewed-by: John Garry <john.garry@xxxxxxxxxx> > Signed-off-by: Damien Le Moal <damien.lemoal@xxxxxxxxxxxxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxx> thx! > --- > drivers/scsi/pm8001/pm8001_hwi.c | 2 +- > drivers/scsi/pm8001/pm80xx_hwi.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/scsi/pm8001/pm8001_hwi.c b/drivers/scsi/pm8001/pm8001_hwi.c > index 4683fee87b84..817bba65feb3 100644 > --- a/drivers/scsi/pm8001/pm8001_hwi.c > +++ b/drivers/scsi/pm8001/pm8001_hwi.c > @@ -1864,7 +1864,7 @@ static void pm8001_send_read_log(struct pm8001_hba_info *pm8001_ha, > > sata_cmd.tag = cpu_to_le32(ccb_tag); > sata_cmd.device_id = cpu_to_le32(pm8001_ha_dev->device_id); > - sata_cmd.ncqtag_atap_dir_m |= ((0x1 << 7) | (0x5 << 9)); > + sata_cmd.ncqtag_atap_dir_m = cpu_to_le32((0x1 << 7) | (0x5 << 9)); > memcpy(&sata_cmd.sata_fis, &fis, sizeof(struct host_to_dev_fis)); > > res = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opc, &sata_cmd, > diff --git a/drivers/scsi/pm8001/pm80xx_hwi.c b/drivers/scsi/pm8001/pm80xx_hwi.c > index b83500ef3d86..f1663a10693a 100644 > --- a/drivers/scsi/pm8001/pm80xx_hwi.c > +++ b/drivers/scsi/pm8001/pm80xx_hwi.c > @@ -1882,7 +1882,7 @@ static void pm80xx_send_read_log(struct pm8001_hba_info *pm8001_ha, > > sata_cmd.tag = cpu_to_le32(ccb_tag); > sata_cmd.device_id = cpu_to_le32(pm8001_ha_dev->device_id); > - sata_cmd.ncqtag_atap_dir_m_dad |= ((0x1 << 7) | (0x5 << 9)); > + sata_cmd.ncqtag_atap_dir_m_dad = cpu_to_le32(((0x1 << 7) | (0x5 << 9))); > memcpy(&sata_cmd.sata_fis, &fis, sizeof(struct host_to_dev_fis)); > > res = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opc, &sata_cmd, > -- > 2.34.1 >