return 0;
 }
 
-/* This function reads one block of firmware data. */
-static int mwifiex_get_fw_data(struct mwifiex_adapter *adapter,
-                              u32 offset, u32 len, u8 *buf)
-{
-       if (!buf || !len)
-               return -1;
-
-       if (offset + len > adapter->firmware->size)
-               return -1;
-
-       memcpy(buf, adapter->firmware->data + offset, len);
-
-       return 0;
-}
-
 static int mwifiex_prog_fw_w_helper(struct mwifiex_adapter *adapter,
                                    struct mwifiex_fw_image *fw)
 {
                        dlen = 0;
                } else {
                        /* copy the header of the fw_data to get the length */
-                       if (firmware)
-                               memcpy(&fwdata->fw_hdr, &firmware[tlen],
-                                      sizeof(struct fw_header));
-                       else
-                               mwifiex_get_fw_data(adapter, tlen,
-                                                   sizeof(struct fw_header),
-                                                   (u8 *)&fwdata->fw_hdr);
+                       memcpy(&fwdata->fw_hdr, &firmware[tlen],
+                              sizeof(struct fw_header));
 
                        dlen = le32_to_cpu(fwdata->fw_hdr.data_len);
                        dnld_cmd = le32_to_cpu(fwdata->fw_hdr.dnld_cmd);
                        tlen += sizeof(struct fw_header);
 
-                       if (firmware)
-                               memcpy(fwdata->data, &firmware[tlen], dlen);
-                       else
-                               mwifiex_get_fw_data(adapter, tlen, dlen,
-                                                   (u8 *)fwdata->data);
+                       memcpy(fwdata->data, &firmware[tlen], dlen);
 
                        fwdata->seq_num = cpu_to_le32(fw_seqnum);
                        tlen += dlen;