scsi: pm8001: Fix pm8001_update_flash() local variable type
authorDamien Le Moal <damien.lemoal@opensource.wdc.com>
Sun, 20 Feb 2022 03:17:42 +0000 (12:17 +0900)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 23 Feb 2022 02:31:16 +0000 (21:31 -0500)
Change the type of partitionSizeTmp from u32 to __be32 to suppress the
sparse warning:

warning: cast to restricted __be32

Link: https://lore.kernel.org/r/20220220031810.738362-4-damien.lemoal@opensource.wdc.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>
drivers/scsi/pm8001/pm8001_ctl.c

index 66307783c73cb47bcc1e4a7e87b6fcc912063173..73f036bed1281c70b29d1d62b1b4177974e4a9a8 100644 (file)
@@ -721,7 +721,8 @@ static int pm8001_update_flash(struct pm8001_hba_info *pm8001_ha)
        DECLARE_COMPLETION_ONSTACK(completion);
        u8              *ioctlbuffer;
        struct fw_control_info  *fwControl;
-       u32             partitionSize, partitionSizeTmp;
+       __be32          partitionSizeTmp;
+       u32             partitionSize;
        u32             loopNumber, loopcount;
        struct pm8001_fw_image_header *image_hdr;
        u32             sizeRead = 0;
@@ -742,7 +743,7 @@ static int pm8001_update_flash(struct pm8001_hba_info *pm8001_ha)
        image_hdr = (struct pm8001_fw_image_header *)pm8001_ha->fw_image->data;
        while (sizeRead < pm8001_ha->fw_image->size) {
                partitionSizeTmp =
-                       *(u32 *)((u8 *)&image_hdr->image_length + sizeRead);
+                       *(__be32 *)((u8 *)&image_hdr->image_length + sizeRead);
                partitionSize = be32_to_cpu(partitionSizeTmp);
                loopcount = DIV_ROUND_UP(partitionSize + HEADER_LEN,
                                        IOCTL_BUF_SIZE);