megaraid_sas : add missing byte swaps to the sriov code
authorChristoph Hellwig <hch@lst.de>
Thu, 23 Apr 2015 11:03:54 +0000 (16:33 +0530)
committerJames Bottomley <JBottomley@Odin.com>
Mon, 25 May 2015 15:46:31 +0000 (08:46 -0700)
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sumit Saxena <sumit.saxena@avagotech.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Tomas Henzl <thenzl@redhat.com>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
drivers/scsi/megaraid/megaraid_sas_base.c

index 6911a3f230b9c64e1c75d46f62bab7e750f9da18..c4a5cb9e630a4d1980541dc468c9ec5ff42a747f 100644 (file)
@@ -1911,20 +1911,22 @@ static int megasas_get_ld_vf_affiliation_111(struct megasas_instance *instance,
        dcmd->cmd = MFI_CMD_DCMD;
        dcmd->cmd_status = 0xFF;
        dcmd->sge_count = 1;
-       dcmd->flags = MFI_FRAME_DIR_BOTH;
+       dcmd->flags = cpu_to_le16(MFI_FRAME_DIR_BOTH);
        dcmd->timeout = 0;
        dcmd->pad_0 = 0;
-       dcmd->data_xfer_len = sizeof(struct MR_LD_VF_AFFILIATION_111);
-       dcmd->opcode = MR_DCMD_LD_VF_MAP_GET_ALL_LDS_111;
+       dcmd->data_xfer_len =
+               cpu_to_le32(sizeof(struct MR_LD_VF_AFFILIATION_111));
+       dcmd->opcode = cpu_to_le32(MR_DCMD_LD_VF_MAP_GET_ALL_LDS_111);
 
        if (initial)
                dcmd->sgl.sge32[0].phys_addr =
-                       instance->vf_affiliation_111_h;
+                       cpu_to_le32(instance->vf_affiliation_111_h);
        else
-               dcmd->sgl.sge32[0].phys_addr = new_affiliation_111_h;
+               dcmd->sgl.sge32[0].phys_addr =
+                       cpu_to_le32(new_affiliation_111_h);
 
-       dcmd->sgl.sge32[0].length =
-               sizeof(struct MR_LD_VF_AFFILIATION_111);
+       dcmd->sgl.sge32[0].length = cpu_to_le32(
+               sizeof(struct MR_LD_VF_AFFILIATION_111));
 
        printk(KERN_WARNING "megasas: SR-IOV: Getting LD/VF affiliation for "
               "scsi%d\n", instance->host->host_no);
@@ -2022,20 +2024,22 @@ static int megasas_get_ld_vf_affiliation_12(struct megasas_instance *instance,
        dcmd->cmd = MFI_CMD_DCMD;
        dcmd->cmd_status = 0xFF;
        dcmd->sge_count = 1;
-       dcmd->flags = MFI_FRAME_DIR_BOTH;
+       dcmd->flags = cpu_to_le16(MFI_FRAME_DIR_BOTH);
        dcmd->timeout = 0;
        dcmd->pad_0 = 0;
-       dcmd->data_xfer_len = (MAX_LOGICAL_DRIVES + 1) *
-               sizeof(struct MR_LD_VF_AFFILIATION);
-       dcmd->opcode = MR_DCMD_LD_VF_MAP_GET_ALL_LDS;
+       dcmd->data_xfer_len = cpu_to_le32((MAX_LOGICAL_DRIVES + 1) *
+               sizeof(struct MR_LD_VF_AFFILIATION));
+       dcmd->opcode = cpu_to_le32(MR_DCMD_LD_VF_MAP_GET_ALL_LDS);
 
        if (initial)
-               dcmd->sgl.sge32[0].phys_addr = instance->vf_affiliation_h;
+               dcmd->sgl.sge32[0].phys_addr =
+                       cpu_to_le32(instance->vf_affiliation_h);
        else
-               dcmd->sgl.sge32[0].phys_addr = new_affiliation_h;
+               dcmd->sgl.sge32[0].phys_addr =
+                       cpu_to_le32(new_affiliation_h);
 
-       dcmd->sgl.sge32[0].length = (MAX_LOGICAL_DRIVES + 1) *
-               sizeof(struct MR_LD_VF_AFFILIATION);
+       dcmd->sgl.sge32[0].length = cpu_to_le32((MAX_LOGICAL_DRIVES + 1) *
+               sizeof(struct MR_LD_VF_AFFILIATION));
 
        printk(KERN_WARNING "megasas: SR-IOV: Getting LD/VF affiliation for "
               "scsi%d\n", instance->host->host_no);
@@ -2183,17 +2187,17 @@ int megasas_sriov_start_heartbeat(struct megasas_instance *instance,
 
        memset(dcmd->mbox.b, 0, MFI_MBOX_SIZE);
 
-       dcmd->mbox.s[0] = sizeof(struct MR_CTRL_HB_HOST_MEM);
+       dcmd->mbox.s[0] = cpu_to_le16(sizeof(struct MR_CTRL_HB_HOST_MEM));
        dcmd->cmd = MFI_CMD_DCMD;
        dcmd->cmd_status = 0xFF;
        dcmd->sge_count = 1;
-       dcmd->flags = MFI_FRAME_DIR_BOTH;
+       dcmd->flags = cpu_to_le16(MFI_FRAME_DIR_BOTH);
        dcmd->timeout = 0;
        dcmd->pad_0 = 0;
-       dcmd->data_xfer_len = sizeof(struct MR_CTRL_HB_HOST_MEM);
-       dcmd->opcode = MR_DCMD_CTRL_SHARED_HOST_MEM_ALLOC;
-       dcmd->sgl.sge32[0].phys_addr = instance->hb_host_mem_h;
-       dcmd->sgl.sge32[0].length = sizeof(struct MR_CTRL_HB_HOST_MEM);
+       dcmd->data_xfer_len = cpu_to_le32(sizeof(struct MR_CTRL_HB_HOST_MEM));
+       dcmd->opcode = cpu_to_le32(MR_DCMD_CTRL_SHARED_HOST_MEM_ALLOC);
+       dcmd->sgl.sge32[0].phys_addr = cpu_to_le32(instance->hb_host_mem_h);
+       dcmd->sgl.sge32[0].length = cpu_to_le32(sizeof(struct MR_CTRL_HB_HOST_MEM));
 
        printk(KERN_WARNING "megasas: SR-IOV: Starting heartbeat for scsi%d\n",
               instance->host->host_no);