We should access the fields of fwhdr only if the check for firmware header existence is true. Move the affected code into the if block that checks firmware header existence. Signed-off-by: Michael Straube <straube.linux@xxxxxxxxx> --- v3: - no real changes, just the pr_info() -> pr_info_once() from patch 7/8 is different v2: - no changes drivers/staging/r8188eu/core/rtw_fw.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_fw.c b/drivers/staging/r8188eu/core/rtw_fw.c index 7ee72236c7f4..8b5c67780a7b 100644 --- a/drivers/staging/r8188eu/core/rtw_fw.c +++ b/drivers/staging/r8188eu/core/rtw_fw.c @@ -251,14 +251,13 @@ int rtl8188e_firmware_download(struct adapter *padapter) fw_data = dvobj->firmware.data; fw_size = dvobj->firmware.size; - /* To Check Fw header. Added by tynli. 2009.12.04. */ fwhdr = (struct rt_firmware_hdr *)dvobj->firmware.data; - pr_info_once("%sFirmware Version %d, SubVersion %d, Signature 0x%x\n", - DRIVER_PREFIX, le16_to_cpu(fwhdr->version), fwhdr->subversion, - le16_to_cpu(fwhdr->signature)); - if (IS_FW_HEADER_EXIST(fwhdr)) { + pr_info_once("%sFirmware Version %d, SubVersion %d, Signature 0x%x\n", + DRIVER_PREFIX, le16_to_cpu(fwhdr->version), fwhdr->subversion, + le16_to_cpu(fwhdr->signature)); + fw_data = fw_data + sizeof(struct rt_firmware_hdr); fw_size = fw_size - sizeof(struct rt_firmware_hdr); } -- 2.35.1