/* New Raid map will not set totalSize, so keep expected value
                 * for legacy code in ValidateMapInfo
                 */
-               pDrvRaidMap->totalSize = sizeof(struct MR_FW_RAID_MAP_EXT);
+               pDrvRaidMap->totalSize =
+                       cpu_to_le32(sizeof(struct MR_FW_RAID_MAP_EXT));
        } else {
                fw_map_old = (struct MR_FW_RAID_MAP_ALL *)
                        fusion->ld_map[(instance->map_id & 1)];
                pFwRaidMap = &fw_map_old->raidMap;
 
 #if VD_EXT_DEBUG
-               for (i = 0; i < pFwRaidMap->ldCount; i++) {
+               for (i = 0; i < le16_to_cpu(pFwRaidMap->ldCount); i++) {
                        dev_dbg(&instance->pdev->dev, "(%d) :Index 0x%x "
                                "Target Id 0x%x Seq Num 0x%x Size 0/%llx\n",
                                instance->unique_id, i,
 
                memset(drv_map, 0, fusion->drv_map_sz);
                pDrvRaidMap->totalSize = pFwRaidMap->totalSize;
-               pDrvRaidMap->ldCount = pFwRaidMap->ldCount;
+               pDrvRaidMap->ldCount = (__le16)pFwRaidMap->ldCount;
                pDrvRaidMap->fpPdIoTimeoutSec = pFwRaidMap->fpPdIoTimeoutSec;
                for (i = 0; i < MAX_RAIDMAP_LOGICAL_DRIVES + MAX_RAIDMAP_VIEWS; i++)
                        pDrvRaidMap->ldTgtIdToLd[i] =
                                (u8)pFwRaidMap->ldTgtIdToLd[i];
-               for (i = 0; i < pDrvRaidMap->ldCount; i++) {
+               for (i = 0; i < le16_to_cpu(pDrvRaidMap->ldCount); i++) {
                        pDrvRaidMap->ldSpanMap[i] = pFwRaidMap->ldSpanMap[i];
 #if VD_EXT_DEBUG
                        dev_dbg(&instance->pdev->dev,
        else
                expected_size =
                        (sizeof(struct MR_FW_RAID_MAP) - sizeof(struct MR_LD_SPAN_MAP) +
-                       (sizeof(struct MR_LD_SPAN_MAP) * le32_to_cpu(pDrvRaidMap->ldCount)));
+                       (sizeof(struct MR_LD_SPAN_MAP) * le16_to_cpu(pDrvRaidMap->ldCount)));
 
        if (le32_to_cpu(pDrvRaidMap->totalSize) != expected_size) {
                dev_err(&instance->pdev->dev, "map info structure size 0x%x is not matching with ld count\n",
 
        mr_update_load_balance_params(drv_map, lbInfo);
 
-       num_lds = le32_to_cpu(drv_map->raidMap.ldCount);
+       num_lds = le16_to_cpu(drv_map->raidMap.ldCount);
 
        /*Convert Raid capability values to CPU arch */
        for (ldCount = 0; ldCount < num_lds; ldCount++) {
                                quad = &map->raidMap.ldSpanMap[ld].
                                        spanBlock[span].
                                        block_span_info.quad[info];
-                               if (le32_to_cpu(quad->diff == 0))
+                               if (le32_to_cpu(quad->diff) == 0)
                                        return SPAN_INVALID;
                                if (le64_to_cpu(quad->logStart) <= row  &&
                                        row <= le64_to_cpu(quad->logEnd)  &&
                                span_set->span_row_data_width) * span_set->diff;
                for (span = 0, span_offset = 0; span < raid->spanDepth; span++)
                        if (le32_to_cpu(map->raidMap.ldSpanMap[ld].spanBlock[span].
-                               block_span_info.noElements >= info+1)) {
+                               block_span_info.noElements) >= info+1) {
                                if (strip_offset >=
                                        span_set->strip_offset[span])
                                        span_offset++;
 
 
        map = fusion->ld_drv_map[instance->map_id & 1];
 
-       num_lds = le32_to_cpu(map->raidMap.ldCount);
+       num_lds = le16_to_cpu(map->raidMap.ldCount);
 
        dcmd = &cmd->frame->dcmd;
 
                        struct megasas_register_set __iomem *regs)
 {
 #if defined(writeq) && defined(CONFIG_64BIT)
-       u64 req_data = (((u64)req_desc_hi << 32) | (u32)req_desc_lo);
+       u64 req_data = (((u64)le32_to_cpu(req_desc_hi) << 32) |
+                       le32_to_cpu(req_desc_lo));
 
-       writeq(le64_to_cpu(req_data), &(regs)->inbound_low_queue_port);
+       writeq(req_data, &(regs)->inbound_low_queue_port);
 #else
        unsigned long flags;
 
                /* Logical block reference tag */
                io_request->CDB.EEDP32.PrimaryReferenceTag =
                        cpu_to_be32(ref_tag);
-               io_request->CDB.EEDP32.PrimaryApplicationTagMask = 0xffff;
+               io_request->CDB.EEDP32.PrimaryApplicationTagMask = cpu_to_be16(0xffff);
                io_request->IoFlags = cpu_to_le16(32); /* Specify 32-byte cdb */
 
                /* Transfer length */
 
                /* set RAID context values */
                pRAID_Context->regLockFlags     = REGION_TYPE_SHARED_READ;
-               pRAID_Context->timeoutValue     = raid->fpIoTimeoutForLd;
+               pRAID_Context->timeoutValue     = cpu_to_le16(raid->fpIoTimeoutForLd);
                pRAID_Context->VirtualDiskTgtId = cpu_to_le16(device_id);
                pRAID_Context->regLockRowLBA    = 0;
                pRAID_Context->regLockLength    = 0;
         * megasas_complete_cmd
         */
 
-       if (frame_hdr->flags & MFI_FRAME_DONT_POST_IN_REPLY_QUEUE)
+       if (frame_hdr->flags & cpu_to_le16(MFI_FRAME_DONT_POST_IN_REPLY_QUEUE))
                cmd->flags = MFI_FRAME_DONT_POST_IN_REPLY_QUEUE;
 
        fusion = instance->ctrl_context;