[PATCH v2] wifi: mt76: mt7921: introduce Country Location Control support
kernel test robot
lkp at intel.com
Tue Sep 6 15:03:39 PDT 2022
Hi Deren,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on wireless-next/main]
[also build test WARNING on wireless/main linus/master v6.0-rc4 next-20220906]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Deren-Wu/wifi-mt76-mt7921-introduce-Country-Location-Control-support/20220906-171401
base: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git main
config: arm64-randconfig-s042-20220906 (https://download.01.org/0day-ci/archive/20220907/202209070520.bQXe62tP-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 12.1.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-39-gce1a6720-dirty
# https://github.com/intel-lab-lkp/linux/commit/e0bf37418dbcff6f111fbf6dad1d142180e2ec4f
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Deren-Wu/wifi-mt76-mt7921-introduce-Country-Location-Control-support/20220906-171401
git checkout e0bf37418dbcff6f111fbf6dad1d142180e2ec4f
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm64 SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp at intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/net/wireless/mediatek/mt76/mt7921/mcu.c:1089:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [addressable] [usertype] len @@ got unsigned long @@
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c:1089:25: sparse: expected restricted __le16 [addressable] [usertype] len
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c:1089:25: sparse: got unsigned long
>> drivers/net/wireless/mediatek/mt76/mt7921/mcu.c:1090:65: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected int len @@ got restricted __le16 [addressable] [usertype] len @@
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c:1090:65: sparse: expected int len
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c:1090:65: sparse: got restricted __le16 [addressable] [usertype] len
vim +1089 drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
1048
1049 static
1050 int __mt7921_mcu_set_clc(struct mt7921_dev *dev, u8 *alpha2,
1051 enum environment_cap env_cap,
1052 struct mt7921_clc *clc,
1053 u8 idx)
1054 {
1055 struct sk_buff *skb;
1056 struct {
1057 u8 ver;
1058 u8 pad0;
1059 __le16 len;
1060 u8 idx;
1061 u8 env;
1062 u8 pad1[2];
1063 u8 alpha2[2];
1064 u8 type[2];
1065 u8 rsvd[64];
1066 } __packed req = {
1067 .idx = idx,
1068 .env = env_cap,
1069 };
1070 int ret, valid_cnt = 0;
1071 u8 i, *pos;
1072
1073 if (!clc)
1074 return 0;
1075
1076 pos = clc->data;
1077 for (i = 0; i < clc->nr_country; i++) {
1078 struct mt7921_clc_rule *rule = (struct mt7921_clc_rule *)pos;
1079 u16 len = le16_to_cpu(rule->len);
1080
1081 pos += len + sizeof(*rule);
1082 if (rule->alpha2[0] != alpha2[0] ||
1083 rule->alpha2[1] != alpha2[1])
1084 continue;
1085
1086 memcpy(req.alpha2, rule->alpha2, 2);
1087 memcpy(req.type, rule->type, 2);
1088
> 1089 req.len = sizeof(req) + len;
> 1090 skb = __mt76_mcu_msg_alloc(&dev->mt76, &req, req.len,
1091 sizeof(req), GFP_KERNEL);
1092 if (!skb)
1093 return -ENOMEM;
1094 skb_put_data(skb, rule->data, len);
1095
1096 ret = mt76_mcu_skb_send_msg(&dev->mt76, skb,
1097 MCU_CE_CMD(SET_CLC), false);
1098 if (ret < 0)
1099 return ret;
1100 valid_cnt++;
1101 }
1102
1103 if (!valid_cnt)
1104 return -ENOENT;
1105
1106 return 0;
1107 }
1108
--
0-DAY CI Kernel Test Service
https://01.org/lkp
More information about the Linux-mediatek
mailing list