diff options
author | Larry Finger <Larry.Finger@lwfinger.net> | 2013-08-28 21:12:25 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-08-30 11:46:46 -0700 |
commit | 40fac5a1322719074312e58273392e9b652c64a1 (patch) | |
tree | 674ee1eddf7659e2dbf0b68685f18fd7a285aa29 /drivers/staging/rtl8188eu | |
parent | 351699d7ebb1e489d2ee5b51d1b4dd4cc2a822ac (diff) |
staging: r8188eu: Fix compiler warnings in os_dep/ioctl_linux.c
The 0-DAY kernel build testing backend reports the following compiler
warnings not shown on my compiler version/options:
drivers/staging/rtl8188eu/os_dep/ioctl_linux.c: In function 'rtw_mp_efuse_get':
>> drivers/staging/rtl8188eu/os_dep/ioctl_linux.c:5836:65: warning: iteration 16u invokes undefined behavior [-Waggressive-loop-optimizations]
sprintf(extra, "%s%02X ", extra, pEfuseHal->fakeEfuseInitMap[i+j]);
^
drivers/staging/rtl8188eu/os_dep/ioctl_linux.c:5830:3: note: containing loop
for (i = 0; i < EFUSE_MAP_SIZE; i += 16) {
^
>> drivers/staging/rtl8188eu/os_dep/ioctl_linux.c:6042:69: warning: iteration 16u invokes undefined behavior [-Waggressive-loop-optimizations]
sprintf(extra, "%s %02X", extra, pEfuseHal->fakeEfuseModifiedMap[i+j]);
^
drivers/staging/rtl8188eu/os_dep/ioctl_linux.c:6036:3: note: containing loop
for (i = 0; i < EFUSE_MAP_SIZE; i += 16) {
^
The problem is due to improper settings for some of the EFUSE_XXX defines such that
EFUSE_MAP_SIZE was larger than the sizes of the marked arrays. Thanks to
Fengguang Wu for helping me understand the root cause.
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/rtl8188eu')
-rw-r--r-- | drivers/staging/rtl8188eu/include/rtl8188e_hal.h | 2 | ||||
-rw-r--r-- | drivers/staging/rtl8188eu/include/rtw_efuse.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/staging/rtl8188eu/include/rtl8188e_hal.h b/drivers/staging/rtl8188eu/include/rtl8188e_hal.h index fc4adb614bfe..52b280165a92 100644 --- a/drivers/staging/rtl8188eu/include/rtl8188e_hal.h +++ b/drivers/staging/rtl8188eu/include/rtl8188e_hal.h @@ -197,7 +197,6 @@ struct txpowerinfo24g { }; #define EFUSE_REAL_CONTENT_LEN 512 -#define EFUSE_MAP_LEN 128 #define EFUSE_MAX_SECTION 16 #define EFUSE_IC_ID_OFFSET 506 /* For some inferior IC purpose*/ #define AVAILABLE_EFUSE_ADDR(addr) (addr < EFUSE_REAL_CONTENT_LEN) @@ -215,6 +214,7 @@ struct txpowerinfo24g { #define EFUSE_REAL_CONTENT_LEN_88E 256 #define EFUSE_MAP_LEN_88E 512 +#define EFUSE_MAP_LEN EFUSE_MAP_LEN_88E #define EFUSE_MAX_SECTION_88E 64 #define EFUSE_MAX_WORD_UNIT_88E 4 #define EFUSE_IC_ID_OFFSET_88E 506 diff --git a/drivers/staging/rtl8188eu/include/rtw_efuse.h b/drivers/staging/rtl8188eu/include/rtw_efuse.h index 4d45e1e82543..cee6b5e8b070 100644 --- a/drivers/staging/rtl8188eu/include/rtw_efuse.h +++ b/drivers/staging/rtl8188eu/include/rtw_efuse.h @@ -54,7 +54,7 @@ enum _EFUSE_DEF_TYPE { #define EFUSE_MAX_SIZE 256 /* end of E-Fuse */ -#define EFUSE_MAX_MAP_LEN 256 +#define EFUSE_MAX_MAP_LEN 512 #define EFUSE_MAX_HW_SIZE 512 #define EFUSE_MAX_SECTION_BASE 16 |