OSDN Git Service

scsi: qla2xxx: Pass little-endian values to the firmware
authorBart Van Assche <bvanassche@acm.org>
Wed, 17 Apr 2019 21:44:36 +0000 (14:44 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Mon, 29 Apr 2019 21:24:51 +0000 (17:24 -0400)
Pass dsd_list_len in little endian format to the firmware instead of in CPU
endian format.

Cc: Himanshu Madhani <hmadhani@marvell.com>
Cc: Giridhar Malavali <gmalavali@marvell.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Acked-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_iocb.c

index 60f6685..19eb18b 100644 (file)
@@ -973,7 +973,7 @@ alloc_and_fill:
                        /* add new list to cmd iocb or last list */
                        *cur_dsd++ = cpu_to_le32(LSD(dsd_ptr->dsd_list_dma));
                        *cur_dsd++ = cpu_to_le32(MSD(dsd_ptr->dsd_list_dma));
-                       *cur_dsd++ = dsd_list_len;
+                       *cur_dsd++ = cpu_to_le32(dsd_list_len);
                        cur_dsd = (uint32_t *)next_dsd;
                }
                *cur_dsd++ = cpu_to_le32(LSD(sle_dma));
@@ -1072,7 +1072,7 @@ qla24xx_walk_and_build_sglist(struct qla_hw_data *ha, srb_t *sp, uint32_t *dsd,
                        /* add new list to cmd iocb or last list */
                        *cur_dsd++ = cpu_to_le32(LSD(dsd_ptr->dsd_list_dma));
                        *cur_dsd++ = cpu_to_le32(MSD(dsd_ptr->dsd_list_dma));
-                       *cur_dsd++ = dsd_list_len;
+                       *cur_dsd++ = cpu_to_le32(dsd_list_len);
                        cur_dsd = (uint32_t *)next_dsd;
                }
                sle_dma = sg_dma_address(sg);
@@ -1317,7 +1317,7 @@ qla24xx_walk_and_build_prot_sglist(struct qla_hw_data *ha, srb_t *sp,
                                    cpu_to_le32(LSD(dsd_ptr->dsd_list_dma));
                                *cur_dsd++ =
                                    cpu_to_le32(MSD(dsd_ptr->dsd_list_dma));
-                               *cur_dsd++ = dsd_list_len;
+                               *cur_dsd++ = cpu_to_le32(dsd_list_len);
                                cur_dsd = dsd_ptr->dsd_addr;
                        }
                        *cur_dsd++ = cpu_to_le32(LSD(dif_dsd->dsd_list_dma));
@@ -1378,7 +1378,7 @@ qla24xx_walk_and_build_prot_sglist(struct qla_hw_data *ha, srb_t *sp,
                                    cpu_to_le32(LSD(dsd_ptr->dsd_list_dma));
                                *cur_dsd++ =
                                    cpu_to_le32(MSD(dsd_ptr->dsd_list_dma));
-                               *cur_dsd++ = dsd_list_len;
+                               *cur_dsd++ = cpu_to_le32(dsd_list_len);
                                cur_dsd = dsd_ptr->dsd_addr;
                        }
                        sle_dma = sg_dma_address(sg);