Re: [PATCH 3/3] staging: rtl8192u: Convert u4bAcParam back to little-endian after construction

From: kbuild test robot
Date: Sat Apr 29 2017 - 14:12:21 EST


Hi Tuomo,

[auto build test WARNING on staging/staging-testing]
[also build test WARNING on next-20170428]
[cannot apply to v4.11-rc8]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Tuomo-Rinne/staging-rtl8192u-Remove-unnecessary-scope/20170430-012804
config: xtensa-allyesconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 4.9.0
reproduce:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=xtensa

All warnings (new ones prefixed by >>):

In file included from include/linux/byteorder/big_endian.h:4:0,
from arch/xtensa/include/uapi/asm/byteorder.h:7,
from arch/xtensa/include/asm/bitops.h:23,
from include/linux/bitops.h:36,
from include/linux/kernel.h:10,
from include/linux/list.h:8,
from include/linux/module.h:9,
from drivers/staging/rtl8192u/r8192U.h:21,
from drivers/staging/rtl8192u/r8192U_dm.c:16:
drivers/staging/rtl8192u/r8192U_dm.c: In function 'dm_check_edca_turbo':
>> include/uapi/linux/byteorder/big_endian.h:93:27: warning: passing argument 1 of '__swab32s' makes pointer from integer without a cast
#define __cpu_to_le32s(x) __swab32s((x))
^
>> include/linux/byteorder/generic.h:111:22: note: in expansion of macro '__cpu_to_le32s'
#define cpu_to_le32s __cpu_to_le32s
^
>> drivers/staging/rtl8192u/r8192U_dm.c:2324:4: note: in expansion of macro 'cpu_to_le32s'
cpu_to_le32s(u4bAcParam);
^
In file included from include/linux/swab.h:4:0,
from include/uapi/linux/byteorder/big_endian.h:12,
from include/linux/byteorder/big_endian.h:4,
from arch/xtensa/include/uapi/asm/byteorder.h:7,
from arch/xtensa/include/asm/bitops.h:23,
from include/linux/bitops.h:36,
from include/linux/kernel.h:10,
from include/linux/list.h:8,
from include/linux/module.h:9,
from drivers/staging/rtl8192u/r8192U.h:21,
from drivers/staging/rtl8192u/r8192U_dm.c:16:
include/uapi/linux/swab.h:241:29: note: expected '__u32 *' but argument is of type 'u32'
static __always_inline void __swab32s(__u32 *p)
^
--
In file included from include/linux/byteorder/big_endian.h:4:0,
from arch/xtensa/include/uapi/asm/byteorder.h:7,
from arch/xtensa/include/asm/bitops.h:23,
from include/linux/bitops.h:36,
from include/linux/kernel.h:10,
from include/linux/list.h:8,
from include/linux/module.h:9,
from drivers/staging//rtl8192u/r8192U.h:21,
from drivers/staging//rtl8192u/r8192U_dm.c:16:
drivers/staging//rtl8192u/r8192U_dm.c: In function 'dm_check_edca_turbo':
>> include/uapi/linux/byteorder/big_endian.h:93:27: warning: passing argument 1 of '__swab32s' makes pointer from integer without a cast
#define __cpu_to_le32s(x) __swab32s((x))
^
>> include/linux/byteorder/generic.h:111:22: note: in expansion of macro '__cpu_to_le32s'
#define cpu_to_le32s __cpu_to_le32s
^
drivers/staging//rtl8192u/r8192U_dm.c:2324:4: note: in expansion of macro 'cpu_to_le32s'
cpu_to_le32s(u4bAcParam);
^
In file included from include/linux/swab.h:4:0,
from include/uapi/linux/byteorder/big_endian.h:12,
from include/linux/byteorder/big_endian.h:4,
from arch/xtensa/include/uapi/asm/byteorder.h:7,
from arch/xtensa/include/asm/bitops.h:23,
from include/linux/bitops.h:36,
from include/linux/kernel.h:10,
from include/linux/list.h:8,
from include/linux/module.h:9,
from drivers/staging//rtl8192u/r8192U.h:21,
from drivers/staging//rtl8192u/r8192U_dm.c:16:
include/uapi/linux/swab.h:241:29: note: expected '__u32 *' but argument is of type 'u32'
static __always_inline void __swab32s(__u32 *p)
^

vim +/cpu_to_le32s +2324 drivers/staging/rtl8192u/r8192U_dm.c

2308
2309 /* For Each time updating EDCA parameter, reset EDCA turbo mode status. */
2310 dm_init_edca_turbo(dev);
2311
2312 u1bAIFS = qos_parameters->aifs[0] * ((mode & (IEEE_G | IEEE_N_24G)) ? 9 : 20) + aSifsTime;
2313
2314 op_limit = (u32)le16_to_cpu(qos_parameters->tx_op_limit[0]);
2315 cw_max = (u32)le16_to_cpu(qos_parameters->cw_max[0]);
2316 cw_min = (u32)le16_to_cpu(qos_parameters->cw_min[0]);
2317
2318 op_limit <<= AC_PARAM_TXOP_LIMIT_OFFSET;
2319 cw_max <<= AC_PARAM_ECW_MAX_OFFSET;
2320 cw_min <<= AC_PARAM_ECW_MIN_OFFSET;
2321 u1bAIFS <<= AC_PARAM_AIFS_OFFSET;
2322
2323 u4bAcParam = op_limit | cw_max | cw_min | u1bAIFS;
> 2324 cpu_to_le32s(u4bAcParam);
2325
2326 write_nic_dword(dev, EDCAPARA_BE, u4bAcParam);
2327
2328 /*
2329 * Check ACM bit.
2330 * If it is set, immediately set ACM control bit to downgrading AC for passing WMM testplan. Annie, 2005-12-13.
2331 */
2332 {

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip