s32     rtStatus = _SUCCESS;
        u8 writeFW_retry = 0;
        u32 fwdl_start_time;
-       struct hal_data_8188e *pHalData = &padapter->haldata;
        struct dvobj_priv *dvobj = adapter_to_dvobj(padapter);
        struct device *device = dvobj_to_dev(dvobj);
        struct rt_firmware_hdr *pFwHdr = NULL;
+       u16 fw_version, fw_subversion, fw_signature;
        u8 *pFirmwareBuf;
        u32 FirmwareLen;
        static int log_version;
        /*  To Check Fw header. Added by tynli. 2009.12.04. */
        pFwHdr = (struct rt_firmware_hdr *)dvobj->firmware.szFwBuffer;
 
-       pHalData->FirmwareVersion =  le16_to_cpu(pFwHdr->Version);
-       pHalData->FirmwareSubVersion = pFwHdr->Subversion;
-       pHalData->FirmwareSignature = le16_to_cpu(pFwHdr->Signature);
+       fw_version = le16_to_cpu(pFwHdr->Version);
+       fw_subversion = pFwHdr->Subversion;
+       fw_signature = le16_to_cpu(pFwHdr->Signature);
 
        if (!log_version++)
                pr_info("%sFirmware Version %d, SubVersion %d, Signature 0x%x\n",
-                       DRIVER_PREFIX, pHalData->FirmwareVersion,
-                       pHalData->FirmwareSubVersion, pHalData->FirmwareSignature);
+                       DRIVER_PREFIX, fw_version, fw_subversion, fw_signature);
 
        if (IS_FW_HEADER_EXIST(pFwHdr)) {
                /*  Shift 32 bytes for FW header */