Hi Lorenzo, FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant. tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 493ffd6605b2d3d4dc7008ab927dba319f36671f commit: a3c62a042237d1adeb0290dcb768e17edd6dcd25 net: mtk_eth: add COMPILE_TEST support date: 10 months ago config: openrisc-randconfig-s053-20221010 compiler: or1k-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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a3c62a042237d1adeb0290dcb768e17edd6dcd25 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout a3c62a042237d1adeb0290dcb768e17edd6dcd25 # 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=openrisc SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) >> drivers/net/ethernet/mediatek/mtk_eth_soc.c:1113:45: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __sum16 [usertype] check @@ got restricted __be16 [usertype] @@ drivers/net/ethernet/mediatek/mtk_eth_soc.c:1113:45: sparse: expected restricted __sum16 [usertype] check drivers/net/ethernet/mediatek/mtk_eth_soc.c:1113:45: sparse: got restricted __be16 [usertype] >> drivers/net/ethernet/mediatek/mtk_eth_soc.c:1801:22: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __be32 [usertype] ip @@ drivers/net/ethernet/mediatek/mtk_eth_soc.c:1801:22: sparse: expected unsigned int [usertype] val drivers/net/ethernet/mediatek/mtk_eth_soc.c:1801:22: sparse: got restricted __be32 [usertype] ip >> drivers/net/ethernet/mediatek/mtk_eth_soc.c:1846:40: sparse: sparse: cast from restricted __be32 >> drivers/net/ethernet/mediatek/mtk_eth_soc.c:1903:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] ip4dst @@ got unsigned int [usertype] @@ drivers/net/ethernet/mediatek/mtk_eth_soc.c:1903:38: sparse: expected restricted __be32 [usertype] ip4dst drivers/net/ethernet/mediatek/mtk_eth_soc.c:1903:38: sparse: got unsigned int [usertype] >> drivers/net/ethernet/mediatek/mtk_eth_soc.c:1907:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] ip4src @@ got unsigned int @@ drivers/net/ethernet/mediatek/mtk_eth_soc.c:1907:38: sparse: expected restricted __be32 [usertype] ip4src drivers/net/ethernet/mediatek/mtk_eth_soc.c:1907:38: sparse: got unsigned int >> drivers/net/ethernet/mediatek/mtk_eth_soc.c:1909:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] psrc @@ got int @@ drivers/net/ethernet/mediatek/mtk_eth_soc.c:1909:36: sparse: expected restricted __be16 [usertype] psrc drivers/net/ethernet/mediatek/mtk_eth_soc.c:1909:36: sparse: got int >> drivers/net/ethernet/mediatek/mtk_eth_soc.c:1911:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] pdst @@ got int @@ drivers/net/ethernet/mediatek/mtk_eth_soc.c:1911:36: sparse: expected restricted __be16 [usertype] pdst drivers/net/ethernet/mediatek/mtk_eth_soc.c:1911:36: sparse: got int -- >> drivers/net/ethernet/mediatek/mtk_ppe_debugfs.c:60:27: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int @@ got restricted __be32 [usertype] @@ drivers/net/ethernet/mediatek/mtk_ppe_debugfs.c:60:27: sparse: expected unsigned int drivers/net/ethernet/mediatek/mtk_ppe_debugfs.c:60:27: sparse: got restricted __be32 [usertype] >> drivers/net/ethernet/mediatek/mtk_ppe_debugfs.c:158:46: sparse: sparse: cast to restricted __be16 -- >> drivers/net/ethernet/mediatek/mtk_ppe_offload.c:88:19: sparse: sparse: cast to restricted __be32 >> drivers/net/ethernet/mediatek/mtk_ppe_offload.c:92:41: sparse: sparse: restricted __be32 degrades to integer vim +1113 drivers/net/ethernet/mediatek/mtk_eth_soc.c 13c822f6d468ca John Crispin 2016-04-08 1074 e910a3993818ab Yunjian Wang 2020-05-06 1075 static netdev_tx_t mtk_start_xmit(struct sk_buff *skb, struct net_device *dev) 656e705243fd0c John Crispin 2016-03-08 1076 { 656e705243fd0c John Crispin 2016-03-08 1077 struct mtk_mac *mac = netdev_priv(dev); 656e705243fd0c John Crispin 2016-03-08 1078 struct mtk_eth *eth = mac->hw; 656e705243fd0c John Crispin 2016-03-08 1079 struct mtk_tx_ring *ring = ð->tx_ring; 656e705243fd0c John Crispin 2016-03-08 1080 struct net_device_stats *stats = &dev->stats; 656e705243fd0c John Crispin 2016-03-08 1081 bool gso = false; 656e705243fd0c John Crispin 2016-03-08 1082 int tx_num; 656e705243fd0c John Crispin 2016-03-08 1083 34c2e4c9e9b3e4 John Crispin 2016-04-08 1084 /* normally we can rely on the stack not calling this more than once, 34c2e4c9e9b3e4 John Crispin 2016-04-08 1085 * however we have 2 queues running on the same ring so we need to lock 34c2e4c9e9b3e4 John Crispin 2016-04-08 1086 * the ring access 34c2e4c9e9b3e4 John Crispin 2016-04-08 1087 */ e3e9652a432075 Sean Wang 2016-08-11 1088 spin_lock(ð->page_lock); 34c2e4c9e9b3e4 John Crispin 2016-04-08 1089 dce6fa42199d49 Sean Wang 2016-09-14 1090 if (unlikely(test_bit(MTK_RESETTING, ð->state))) dce6fa42199d49 Sean Wang 2016-09-14 1091 goto drop; dce6fa42199d49 Sean Wang 2016-09-14 1092 656e705243fd0c John Crispin 2016-03-08 1093 tx_num = mtk_cal_txd_req(skb); 656e705243fd0c John Crispin 2016-03-08 1094 if (unlikely(atomic_read(&ring->free_count) <= tx_num)) { 16ef670789b252 Felix Fietkau 2021-04-22 1095 netif_stop_queue(dev); 656e705243fd0c John Crispin 2016-03-08 1096 netif_err(eth, tx_queued, dev, 656e705243fd0c John Crispin 2016-03-08 1097 "Tx Ring full when queue awake!\n"); e3e9652a432075 Sean Wang 2016-08-11 1098 spin_unlock(ð->page_lock); 656e705243fd0c John Crispin 2016-03-08 1099 return NETDEV_TX_BUSY; 656e705243fd0c John Crispin 2016-03-08 1100 } 656e705243fd0c John Crispin 2016-03-08 1101 656e705243fd0c John Crispin 2016-03-08 1102 /* TSO: fill MSS info in tcp checksum field */ 656e705243fd0c John Crispin 2016-03-08 1103 if (skb_is_gso(skb)) { 656e705243fd0c John Crispin 2016-03-08 1104 if (skb_cow_head(skb, 0)) { 656e705243fd0c John Crispin 2016-03-08 1105 netif_warn(eth, tx_err, dev, 656e705243fd0c John Crispin 2016-03-08 1106 "GSO expand head fail.\n"); 656e705243fd0c John Crispin 2016-03-08 1107 goto drop; 656e705243fd0c John Crispin 2016-03-08 1108 } 656e705243fd0c John Crispin 2016-03-08 1109 656e705243fd0c John Crispin 2016-03-08 1110 if (skb_shinfo(skb)->gso_type & 656e705243fd0c John Crispin 2016-03-08 1111 (SKB_GSO_TCPV4 | SKB_GSO_TCPV6)) { 656e705243fd0c John Crispin 2016-03-08 1112 gso = true; 656e705243fd0c John Crispin 2016-03-08 @1113 tcp_hdr(skb)->check = htons(skb_shinfo(skb)->gso_size); 656e705243fd0c John Crispin 2016-03-08 1114 } 656e705243fd0c John Crispin 2016-03-08 1115 } 656e705243fd0c John Crispin 2016-03-08 1116 656e705243fd0c John Crispin 2016-03-08 1117 if (mtk_tx_map(skb, dev, tx_num, ring, gso) < 0) 656e705243fd0c John Crispin 2016-03-08 1118 goto drop; 656e705243fd0c John Crispin 2016-03-08 1119 82c6544dddc6c4 John Crispin 2016-06-10 1120 if (unlikely(atomic_read(&ring->free_count) <= ring->thresh)) 16ef670789b252 Felix Fietkau 2021-04-22 1121 netif_stop_queue(dev); 82c6544dddc6c4 John Crispin 2016-06-10 1122 e3e9652a432075 Sean Wang 2016-08-11 1123 spin_unlock(ð->page_lock); 656e705243fd0c John Crispin 2016-03-08 1124 656e705243fd0c John Crispin 2016-03-08 1125 return NETDEV_TX_OK; 656e705243fd0c John Crispin 2016-03-08 1126 656e705243fd0c John Crispin 2016-03-08 1127 drop: e3e9652a432075 Sean Wang 2016-08-11 1128 spin_unlock(ð->page_lock); 656e705243fd0c John Crispin 2016-03-08 1129 stats->tx_dropped++; 81ad2b7de6dd35 Wei Yongjun 2016-10-20 1130 dev_kfree_skb_any(skb); 656e705243fd0c John Crispin 2016-03-08 1131 return NETDEV_TX_OK; 656e705243fd0c John Crispin 2016-03-08 1132 } 656e705243fd0c John Crispin 2016-03-08 1133 :::::: The code at line 1113 was first introduced by commit :::::: 656e705243fd0c2864b89634ea16ed444ef64dc6 net-next: mediatek: add support for MT7623 ethernet :::::: TO: John Crispin :::::: CC: David S. Miller -- 0-DAY CI Kernel Test Service https://01.org/lkp