tree: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git master head: e62b2fd5d3b4c5c958cf88b92f31960750d88dc5 commit: 21e043cd812492e0a02fbbd956fbe49e19daeb45 [709/723] net: hns3: fix set port based VLAN for PF reproduce: # apt-get install sparse git checkout 21e043cd812492e0a02fbbd956fbe49e19daeb45 make ARCH=x86_64 allmodconfig make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
sparse warnings: (new ones prefixed by >>) drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:294:34: sparse: cast from restricted __be32 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:295:34: sparse: cast from restricted __be16 include/linux/slab.h:666:13: sparse: undefined identifier '__builtin_mul_overflow' include/linux/device.h:686:13: sparse: undefined identifier '__builtin_mul_overflow' drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:1218:27: sparse: expression using sizeof(void) drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:1218:27: sparse: expression using sizeof(void) include/linux/device.h:686:13: sparse: not a function <noident> include/linux/device.h:686:13: sparse: not a function <noident> drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:1528:22: sparse: expression using sizeof(void) drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:1528:22: sparse: expression using sizeof(void) include/linux/device.h:686:13: sparse: not a function <noident> include/linux/device.h:686:13: sparse: not a function <noident> drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:2276:16: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [unsigned] [usertype] <noident> @@ got ed int [unsigned] [usertype] <noident> @@ drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:2276:16: expected unsigned int [unsigned] [usertype] <noident> drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:2276:16: got restricted __le32 [usertype] sfp_speed drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:3221:22: sparse: expression using sizeof(void) drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:3221:22: sparse: expression using sizeof(void) >> drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:6975:63: sparse: >> incorrect type in argument 2 (different base types) @@ expected >> restricted __be16 [usertype] proto @@ got unsignedrestricted __be16 >> [usertype] proto @@ drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:6975:63: expected restricted __be16 [usertype] proto drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:6975:63: got unsigned short [unsigned] [usertype] vlan_proto drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:6983:67: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __be16 [usertype] proto @@ got unsignedrestricted __be16 [usertype] proto @@ drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:6983:67: expected restricted __be16 [usertype] proto drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:6983:67: got unsigned short [unsigned] [usertype] vlan_proto drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:7136:24: sparse: expression using sizeof(void) drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:8080:16: sparse: expression using sizeof(void) drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:8080:16: sparse: expression using sizeof(void) include/linux/slab.h:666:13: sparse: not a function <noident> include/linux/slab.h:666:13: sparse: not a function <noident> include/linux/slab.h:666:13: sparse: not a function <noident> include/linux/slab.h:666:13: sparse: call with no type! include/linux/device.h:686:13: sparse: call with no type! vim +6975 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 6958 6959 int hclge_update_port_base_vlan_cfg(struct hclge_vport *vport, u16 state, 6960 struct hclge_vlan_info *vlan_info) 6961 { 6962 struct hnae3_handle *nic = &vport->nic; 6963 struct hclge_vlan_info *old_vlan_info; 6964 struct hclge_dev *hdev = vport->back; 6965 int ret; 6966 6967 old_vlan_info = &vport->port_base_vlan_cfg.vlan_info; 6968 6969 ret = hclge_vlan_offload_cfg(vport, state, vlan_info->vlan_tag); 6970 if (ret) 6971 return ret; 6972 6973 if (state == HNAE3_PORT_BASE_VLAN_MODIFY) { 6974 /* add new VLAN tag */ > 6975 ret = hclge_set_vlan_filter_hw(hdev, > vlan_info->vlan_proto, 6976 vport->vport_id, 6977 vlan_info->vlan_tag, 6978 vlan_info->qos, false); 6979 if (ret) 6980 return ret; 6981 6982 /* remove old VLAN tag */ 6983 ret = hclge_set_vlan_filter_hw(hdev, old_vlan_info->vlan_proto, 6984 vport->vport_id, 6985 old_vlan_info->vlan_tag, 6986 old_vlan_info->qos, true); 6987 if (ret) 6988 return ret; 6989 6990 goto update; 6991 } 6992 6993 ret = hclge_update_vlan_filter_entries(vport, state, vlan_info, 6994 old_vlan_info); 6995 if (ret) 6996 return ret; 6997 6998 /* update state only when disable/enable port based VLAN */ 6999 vport->port_base_vlan_cfg.state = state; 7000 if (state == HNAE3_PORT_BASE_VLAN_DISABLE) 7001 nic->port_base_vlan_state = HNAE3_PORT_BASE_VLAN_DISABLE; 7002 else 7003 nic->port_base_vlan_state = HNAE3_PORT_BASE_VLAN_ENABLE; 7004 7005 update: 7006 vport->port_base_vlan_cfg.vlan_info.vlan_tag = vlan_info->vlan_tag; 7007 vport->port_base_vlan_cfg.vlan_info.qos = vlan_info->qos; 7008 vport->port_base_vlan_cfg.vlan_info.vlan_proto = vlan_info->vlan_proto; 7009 7010 return 0; 7011 } 7012 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation