Commit fd00f7c1 authored by Santosh Nayak's avatar Santosh Nayak Committed by James Bottomley

[SCSI] pm8001: fix endian issue with code optimization.

Data type of the 'tag' field of 'fw_flash_Update_resp' should be __le32.

Data type of 'pHeader' should be __le32.  Remove 2nd cast to 'piomb'.
Signed-off-by: default avatarSantosh Nayak <santoshprasadnayak@gmail.com>
Acked-by: default avatarJack Wang <jack_wang@usish.com>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
parent c6f5c930
...@@ -3357,7 +3357,7 @@ mpi_fw_flash_update_resp(struct pm8001_hba_info *pm8001_ha, void *piomb) ...@@ -3357,7 +3357,7 @@ mpi_fw_flash_update_resp(struct pm8001_hba_info *pm8001_ha, void *piomb)
struct fw_control_ex fw_control_context; struct fw_control_ex fw_control_context;
struct fw_flash_Update_resp *ppayload = struct fw_flash_Update_resp *ppayload =
(struct fw_flash_Update_resp *)(piomb + 4); (struct fw_flash_Update_resp *)(piomb + 4);
u32 tag = ppayload->tag; u32 tag = le32_to_cpu(ppayload->tag);
struct pm8001_ccb_info *ccb = &pm8001_ha->ccb_info[tag]; struct pm8001_ccb_info *ccb = &pm8001_ha->ccb_info[tag];
status = le32_to_cpu(ppayload->status); status = le32_to_cpu(ppayload->status);
memcpy(&fw_control_context, memcpy(&fw_control_context,
...@@ -3703,8 +3703,8 @@ static int mpi_hw_event(struct pm8001_hba_info *pm8001_ha, void* piomb) ...@@ -3703,8 +3703,8 @@ static int mpi_hw_event(struct pm8001_hba_info *pm8001_ha, void* piomb)
*/ */
static void process_one_iomb(struct pm8001_hba_info *pm8001_ha, void *piomb) static void process_one_iomb(struct pm8001_hba_info *pm8001_ha, void *piomb)
{ {
u32 pHeader = (u32)*(u32 *)piomb; __le32 pHeader = *(__le32 *)piomb;
u8 opc = (u8)(pHeader & 0xFFF); u8 opc = (u8)((le32_to_cpu(pHeader)) & 0xFFF);
PM8001_MSG_DBG(pm8001_ha, pm8001_printk("process_one_iomb:")); PM8001_MSG_DBG(pm8001_ha, pm8001_printk("process_one_iomb:"));
......
...@@ -599,7 +599,7 @@ struct fw_flash_Update_req { ...@@ -599,7 +599,7 @@ struct fw_flash_Update_req {
* *
*/ */
struct fw_flash_Update_resp { struct fw_flash_Update_resp {
dma_addr_t tag; __le32 tag;
__le32 status; __le32 status;
u32 reserved[13]; u32 reserved[13];
} __attribute__((packed, aligned(4))); } __attribute__((packed, aligned(4)));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment