lkml.org 
[lkml]   [2022]   [Apr]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 183/475] scsi: pm8001: Fix command initialization in pm80XX_send_read_log()
    Date
    From: Damien Le Moal <damien.lemoal@opensource.wdc.com>

    [ Upstream commit 1a37b6738b58d86f6b144b3fc754ace0f2e0166d ]

    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.

    Link: https://lore.kernel.org/r/20220220031810.738362-5-damien.lemoal@opensource.wdc.com
    Fixes: c6b9ef5779c3 ("[SCSI] pm80xx: NCQ error handling changes")
    Reviewed-by: John Garry <john.garry@huawei.com>
    Reviewed-by: Jack Wang <jinpu.wang@ionos.com>
    Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    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 68a8217032d0..7dbf0289e350 100644
    --- a/drivers/scsi/pm8001/pm8001_hwi.c
    +++ b/drivers/scsi/pm8001/pm8001_hwi.c
    @@ -1828,7 +1828,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, 0);
    diff --git a/drivers/scsi/pm8001/pm80xx_hwi.c b/drivers/scsi/pm8001/pm80xx_hwi.c
    index 161bf4760eac..5bf897188f4f 100644
    --- a/drivers/scsi/pm8001/pm80xx_hwi.c
    +++ b/drivers/scsi/pm8001/pm80xx_hwi.c
    @@ -1516,7 +1516,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, 0);
    --
    2.34.1


    \
     
     \ /
      Last update: 2022-04-14 16:42    [W:4.023 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site