
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 7bd792ffd08ba550c6bcfc003d84bed102147e07 commit: dcb286ce50a35a77e51b61db72c7cc001647b598 [2618/2618] net/hinic3: add huawei/hinic3 driver config: arm64-randconfig-001-20250801 (https://download.01.org/0day-ci/archive/20250801/202508011414.iDmsBjYd-lkp@i...) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 8f09b03aebb71c154f3bbe725c29e3f47d37c26e) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250801/202508011414.iDmsBjYd-lkp@i...) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202508011414.iDmsBjYd-lkp@intel.com/ All errors (new ones prefixed by >>): In file included from drivers/net/ethernet/huawei/hinic3/hinic3_main.c:6: In file included from include/linux/pci.h:1663: In file included from include/linux/dmapool.h:14: In file included from include/linux/scatterlist.h:8: In file included from include/linux/mm.h:2193: include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 509 | item]; | ~~~~ include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 516 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_" | ~~~~~~~~~~~ ^ ~~~ include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 528 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:536:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 537 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/huawei/hinic3/hinic3_main.c:154:9: error: call to undeclared function 'vlan_dev_priv'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 154 | ret = vlan_dev_priv(ndev)->real_dev; | ^ drivers/net/ethernet/huawei/hinic3/hinic3_main.c:154:30: error: member reference type 'int' is not a pointer 154 | ret = vlan_dev_priv(ndev)->real_dev; | ~~~~~~~~~~~~~~~~~~~ ^ drivers/net/ethernet/huawei/hinic3/hinic3_main.c:156:30: error: member reference type 'int' is not a pointer 156 | ret = vlan_dev_priv(ret)->real_dev; | ~~~~~~~~~~~~~~~~~~ ^ 5 warnings and 3 errors generated.
vim +/vlan_dev_priv +154 drivers/net/ethernet/huawei/hinic3/hinic3_main.c 129 130 #define HINIC3_MAX_VLAN_DEPTH_OFFLOAD_SUPPORT 1 131 #define HINIC3_VLAN_CLEAR_OFFLOAD (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | \ 132 NETIF_F_SCTP_CRC | NETIF_F_RXCSUM | \ 133 NETIF_F_ALL_TSO) 134 135 static int hinic3_netdev_event(struct notifier_block *notifier, unsigned long event, void *ptr) 136 { 137 struct net_device *ndev = netdev_notifier_info_to_dev(ptr); 138 struct net_device *real_dev = NULL; 139 struct net_device *ret = NULL; 140 u16 vlan_depth; 141 142 if (!is_vlan_dev(ndev)) 143 return NOTIFY_DONE; 144 145 dev_hold(ndev); 146 147 switch (event) { 148 case NETDEV_REGISTER: 149 real_dev = vlan_dev_real_dev(ndev); 150 if (!hinic3_is_netdev_ops_match(real_dev)) 151 goto out; 152 153 vlan_depth = 1;
154 ret = vlan_dev_priv(ndev)->real_dev; 155 while (is_vlan_dev(ret)) { 156 ret = vlan_dev_priv(ret)->real_dev; 157 vlan_depth++; 158 } 159 160 if (vlan_depth == HINIC3_MAX_VLAN_DEPTH_OFFLOAD_SUPPORT) { 161 ndev->vlan_features &= (~HINIC3_VLAN_CLEAR_OFFLOAD); 162 } else if (vlan_depth > HINIC3_MAX_VLAN_DEPTH_OFFLOAD_SUPPORT) { 163 #ifdef HAVE_NDO_SET_FEATURES 164 #ifdef HAVE_RHEL6_NET_DEVICE_OPS_EXT 165 set_netdev_hw_features(ndev, 166 get_netdev_hw_features(ndev) & 167 (~HINIC3_VLAN_CLEAR_OFFLOAD)); 168 #else 169 ndev->hw_features &= (~HINIC3_VLAN_CLEAR_OFFLOAD); 170 #endif 171 #endif 172 ndev->features &= (~HINIC3_VLAN_CLEAR_OFFLOAD); 173 } 174 175 break; 176 177 default: 178 break; 179 }; 180 181 out: 182 dev_put(ndev); 183 184 return NOTIFY_DONE; 185 } 186 #endif 187
-- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki