drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c:742:61: sparse: sparse: incorrect type in argument 3 (different base types)

From: kernel test robot
Date: Thu Mar 03 2022 - 09:06:00 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 5859a2b1991101d6b978f3feb5325dad39421f29
commit: 7428d6c9366560143b9dbb6dbf2141fa811d4bc8 net: hns3: refactor VF rss set APIs with new common rss set APIs
date: 8 weeks ago
config: ia64-randconfig-s031-20220303 (https://download.01.org/0day-ci/archive/20220303/202203032256.qPT9K5ZX-lkp@xxxxxxxxx/config)
compiler: ia64-linux-gcc (GCC) 11.2.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-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7428d6c9366560143b9dbb6dbf2141fa811d4bc8
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 7428d6c9366560143b9dbb6dbf2141fa811d4bc8
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=ia64 SHELL=/bin/bash drivers/net/ethernet/hisilicon/hns3/ drivers/net/wwan/

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/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c:742:61: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected restricted __le16 [usertype] rss_ind_tbl_size @@ got unsigned short [usertype] rss_ind_tbl_size @@
drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c:742:61: sparse: expected restricted __le16 [usertype] rss_ind_tbl_size
drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c:742:61: sparse: got unsigned short [usertype] rss_ind_tbl_size

vim +742 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c

719
720 static int hclgevf_get_rss(struct hnae3_handle *handle, u32 *indir, u8 *key,
721 u8 *hfunc)
722 {
723 struct hclgevf_dev *hdev = hclgevf_ae_get_hdev(handle);
724 struct hclge_comm_rss_cfg *rss_cfg = &hdev->rss_cfg;
725 int ret;
726
727 if (hdev->ae_dev->dev_version >= HNAE3_DEVICE_VERSION_V2) {
728 hclge_comm_get_rss_hash_info(rss_cfg, key, hfunc);
729 } else {
730 if (hfunc)
731 *hfunc = ETH_RSS_HASH_TOP;
732 if (key) {
733 ret = hclgevf_get_rss_hash_key(hdev);
734 if (ret)
735 return ret;
736 memcpy(key, rss_cfg->rss_hash_key,
737 HCLGE_COMM_RSS_KEY_SIZE);
738 }
739 }
740
741 hclge_comm_get_rss_indir_tbl(rss_cfg, indir,
> 742 hdev->ae_dev->dev_specs.rss_ind_tbl_size);
743
744 return 0;
745 }
746

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