>-----Original Message----- >From: Christoph Hellwig [mailto:hch@xxxxxx] >Sent: Saturday, January 10, 2015 10:41 PM >To: Sumit.Saxena@xxxxxxxxxxxxx; kashyap.desai@xxxxxxxxxxxxx >Cc: martin.petersen@xxxxxxxxxx; linux-scsi@xxxxxxxxxxxxxxx >Subject: [PATCH 07/10] megaraid_sas: add missing byte swaps to the sriov >code > >Signed-off-by: Christoph Hellwig <hch@xxxxxx> >--- > drivers/scsi/megaraid/megaraid_sas_base.c | 46 +++++++++++++++++------- >------- > 1 file changed, 25 insertions(+), 21 deletions(-) > >diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c >b/drivers/scsi/megaraid/megaraid_sas_base.c >index 548d033..5350e18 100644 >--- a/drivers/scsi/megaraid/megaraid_sas_base.c >+++ b/drivers/scsi/megaraid/megaraid_sas_base.c >@@ -1924,20 +1924,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); @@ -2039,20 +2041,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); @@ -2204,17 +2208,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); Acked-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> >-- >1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html