2022-04-14 15:59:58

by Michael Straube

[permalink] [raw]
Subject: [PATCH 4/7] staging: r8188eu: use sizeof instead of hardcoded firmware header size

Use sizeof() instead of hardcoding the firmware header size.

Signed-off-by: Michael Straube <[email protected]>
---
drivers/staging/r8188eu/core/rtw_fw.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/r8188eu/core/rtw_fw.c b/drivers/staging/r8188eu/core/rtw_fw.c
index 3da52a1ba23c..94526064f29b 100644
--- a/drivers/staging/r8188eu/core/rtw_fw.c
+++ b/drivers/staging/r8188eu/core/rtw_fw.c
@@ -263,9 +263,8 @@ int rtl8188e_firmware_download(struct adapter *padapter)
DRIVER_PREFIX, fw_version, fw_subversion, fw_signature);

if (IS_FW_HEADER_EXIST(fwhdr)) {
- /* Shift 32 bytes for FW header */
- fw_data = fw_data + 32;
- fw_size = fw_size - 32;
+ fw_data = fw_data + sizeof(struct rt_firmware_hdr);
+ fw_size = fw_size - sizeof(struct rt_firmware_hdr);
}

/* Suggested by Filen. If 8051 is running in RAM code, driver should inform Fw to reset by itself, */
--
2.35.1


2022-04-16 02:33:22

by Pavel Skripkin

[permalink] [raw]
Subject: Re: [PATCH 4/7] staging: r8188eu: use sizeof instead of hardcoded firmware header size

Hi Michael,

On 4/14/22 11:38, Michael Straube wrote:
> Use sizeof() instead of hardcoding the firmware header size.
>
> Signed-off-by: Michael Straube <[email protected]>
> ---
> drivers/staging/r8188eu/core/rtw_fw.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/staging/r8188eu/core/rtw_fw.c b/drivers/staging/r8188eu/core/rtw_fw.c
> index 3da52a1ba23c..94526064f29b 100644
> --- a/drivers/staging/r8188eu/core/rtw_fw.c
> +++ b/drivers/staging/r8188eu/core/rtw_fw.c
> @@ -263,9 +263,8 @@ int rtl8188e_firmware_download(struct adapter *padapter)
> DRIVER_PREFIX, fw_version, fw_subversion, fw_signature);
>
> if (IS_FW_HEADER_EXIST(fwhdr)) {
> - /* Shift 32 bytes for FW header */
> - fw_data = fw_data + 32;
> - fw_size = fw_size - 32;
> + fw_data = fw_data + sizeof(struct rt_firmware_hdr);
> + fw_size = fw_size - sizeof(struct rt_firmware_hdr);


What about BUILD_BUG_ON(sizeof(struct rt_firmware_hdr) != 32)? To be
sure we won't face same bug in future





With regards,
Pavel Skripkin