[ammarfaizi2-block:axboe/linux-block/m1/2022-02-19 493/552] drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:4075:42: sparse: sparse: incorrect type in assignment (different base types)

From: kernel test robot
Date: Mon Feb 21 2022 - 05:42:41 EST


tree: https://github.com/ammarfaizi2/linux-block axboe/linux-block/m1/2022-02-19
head: b781e0ccdc0c9a931571d15db09d45b7258b9905
commit: 8ad0f256eccca6e552589c0814abe4bcff183a41 [493/552] brcmfmac: cfg80211: Add support for PMKID_V3 operations
config: i386-randconfig-s001-20220221 (https://download.01.org/0day-ci/archive/20220221/202202211736.kxyu07D7-lkp@xxxxxxxxx/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/ammarfaizi2/linux-block/commit/8ad0f256eccca6e552589c0814abe4bcff183a41
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block axboe/linux-block/m1/2022-02-19
git checkout 8ad0f256eccca6e552589c0814abe4bcff183a41
# save the config file to linux build tree
mkdir build_dir
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash drivers/net/wireless/broadcom/brcm80211/brcmfmac/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>


sparse warnings: (new ones prefixed by >>)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:1087:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] version @@ got int @@
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:1087:28: sparse: expected restricted __le16 [usertype] version
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:1087:28: sparse: got int
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:1149:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] scan_type @@ got int @@
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:1149:38: sparse: expected restricted __le32 [usertype] scan_type
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:1149:38: sparse: got int
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:790:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned char [usertype] scan_type @@ got restricted __le32 [usertype] scan_type @@
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:790:30: sparse: expected unsigned char [usertype] scan_type
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:790:30: sparse: got restricted __le32 [usertype] scan_type
>> drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:4075:42: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] time_left @@ got unsigned int @@
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:4075:42: sparse: expected restricted __le32 [usertype] time_left
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:4075:42: sparse: got unsigned int

vim +4075 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c

4053
4054 static s32
4055 brcmf_pmksa_v3_op(struct brcmf_if *ifp, struct cfg80211_pmksa *pmksa,
4056 bool alive)
4057 {
4058 struct brcmf_pmk_op_v3_le *pmk_op;
4059 int length = offsetof(struct brcmf_pmk_op_v3_le, pmk);
4060 int ret;
4061
4062 pmk_op = kzalloc(sizeof(*pmk_op), GFP_KERNEL);
4063 pmk_op->version = cpu_to_le16(BRCMF_PMKSA_VER_3);
4064
4065 if (!pmksa) {
4066 /* Flush operation, operate on entire list */
4067 pmk_op->count = cpu_to_le16(0);
4068 } else {
4069 /* Single PMK operation */
4070 pmk_op->count = cpu_to_le16(1);
4071 length += sizeof(struct brcmf_pmksa_v3);
4072 memcpy(pmk_op->pmk[0].bssid, pmksa->bssid, ETH_ALEN);
4073 memcpy(pmk_op->pmk[0].pmkid, pmksa->pmkid, WLAN_PMKID_LEN);
4074 pmk_op->pmk[0].pmkid_len = WLAN_PMKID_LEN;
> 4075 pmk_op->pmk[0].time_left = alive ? BRCMF_PMKSA_NO_EXPIRY : 0;
4076 }
4077
4078 pmk_op->length = cpu_to_le16(length);
4079
4080 ret = brcmf_fil_iovar_data_set(ifp, "pmkid_info", pmk_op, sizeof(*pmk_op));
4081 kfree(pmk_op);
4082 return ret;
4083 }
4084

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx