const struct firmware *fw_entry = NULL;
        u32 regout_val = 0, content_size;
        u16 tmp_regout_val = 0;
-       u8 *flash_content = NULL;
        struct ta_metadata *metadata_p;
        int status;
 
                        __func__, metadata_p->name);
                return status;
        }
-       flash_content = kmemdup(fw_entry->data, fw_entry->size, GFP_KERNEL);
-       if (!flash_content) {
-               rsi_dbg(ERR_ZONE, "%s: Failed to copy firmware\n", __func__);
-               status = -EIO;
-               goto fail;
-       }
        content_size = fw_entry->size;
        rsi_dbg(INFO_ZONE, "FW Length = %d bytes\n", content_size);
 
        /* Get the firmware version */
        common->lmac_ver.ver.info.fw_ver[0] =
-               flash_content[LMAC_VER_OFFSET] & 0xFF;
+               fw_entry->data[LMAC_VER_OFFSET] & 0xFF;
        common->lmac_ver.ver.info.fw_ver[1] =
-               flash_content[LMAC_VER_OFFSET + 1] & 0xFF;
-       common->lmac_ver.major = flash_content[LMAC_VER_OFFSET + 2] & 0xFF;
+               fw_entry->data[LMAC_VER_OFFSET + 1] & 0xFF;
+       common->lmac_ver.major = fw_entry->data[LMAC_VER_OFFSET + 2] & 0xFF;
        common->lmac_ver.release_num =
-               flash_content[LMAC_VER_OFFSET + 3] & 0xFF;
-       common->lmac_ver.minor = flash_content[LMAC_VER_OFFSET + 4] & 0xFF;
+               fw_entry->data[LMAC_VER_OFFSET + 3] & 0xFF;
+       common->lmac_ver.minor = fw_entry->data[LMAC_VER_OFFSET + 4] & 0xFF;
        common->lmac_ver.patch_num = 0;
        rsi_print_version(common);
 
-       status = bl_write_header(adapter, flash_content, content_size);
+       status = bl_write_header(adapter, (u8 *)fw_entry->data, content_size);
        if (status) {
                rsi_dbg(ERR_ZONE,
                        "%s: RPS Image header loading failed\n",
 
        rsi_dbg(INFO_ZONE, "Burn Command Pass.. Upgrading the firmware\n");
 
-       status = auto_fw_upgrade(adapter, flash_content, content_size);
+       status = auto_fw_upgrade(adapter, (u8 *)fw_entry->data, content_size);
        if (status == 0) {
                rsi_dbg(ERR_ZONE, "Firmware upgradation Done\n");
                goto load_image_cmd;
 
 success:
        rsi_dbg(ERR_ZONE, "***** Firmware Loading successful *****\n");
-       kfree(flash_content);
        release_firmware(fw_entry);
        return 0;
 
 fail:
        rsi_dbg(ERR_ZONE, "##### Firmware loading failed #####\n");
-       kfree(flash_content);
        release_firmware(fw_entry);
        return status;
 }