diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c index d6cef9e8378d..0ce9b47d644d 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c @@ -433,13 +433,12 @@ s32 rtl8723b_FirmwareDownload(struct adapter *padapter, bool bUsedWoWLANFw) goto exit; } - pFirmware->szFwBuffer = kzalloc(fw->size, GFP_KERNEL); + pFirmware->szFwBuffer = kmemdup(fw->data, fw->size, GFP_KERNEL); if (!pFirmware->szFwBuffer) { rtStatus = _FAIL; goto exit; } - memcpy(pFirmware->szFwBuffer, fw->data, fw->size); pFirmware->ulFwLength = fw->size; release_firmware(fw); if (pFirmware->ulFwLength > FW_8723B_SIZE) {