Messages in this thread | | | Date | Thu, 14 Apr 2022 00:35:51 +0800 | From | kernel test robot <> | Subject | [tnguy-next-queue:dev-queue 235/256] drivers/net/ethernet/intel/ice/ice_txrx.c:1971:16: error: redeclaration of 'protocol' with no linkage |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue.git dev-queue head: faadd15618a12d7b11208f11c54d6ac0f2776486 commit: 5d4c82c60dd05a844ff582c2c6d4e8c3c3020ebc [235/256] ice: Add mpls+tso support config: powerpc-buildonly-randconfig-r003-20220413 (https://download.01.org/0day-ci/archive/20220414/202204140015.MRcE3hbT-lkp@intel.com/config) compiler: powerpc-linux-gcc (GCC) 11.2.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue.git/commit/?id=5d4c82c60dd05a844ff582c2c6d4e8c3c3020ebc git remote add tnguy-next-queue https://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue.git git fetch --no-tags tnguy-next-queue dev-queue git checkout 5d4c82c60dd05a844ff582c2c6d4e8c3c3020ebc # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=powerpc SHELL=/bin/bash drivers/net/ethernet/intel/ice/
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/net/ethernet/intel/ice/ice_txrx.c: In function 'ice_tso': >> drivers/net/ethernet/intel/ice/ice_txrx.c:1971:16: error: redeclaration of 'protocol' with no linkage 1971 | __be16 protocol; | ^~~~~~~~ drivers/net/ethernet/intel/ice/ice_txrx.c:1967:16: note: previous declaration of 'protocol' with type '__be16' {aka 'short unsigned int'} 1967 | __be16 protocol; | ^~~~~~~~
Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for HOTPLUG_CPU Depends on SMP && (PPC_PSERIES || PPC_PMAC || PPC_POWERNV || FSL_SOC_BOOKE Selected by - PM_SLEEP_SMP && SMP && (ARCH_SUSPEND_POSSIBLE || ARCH_HIBERNATION_POSSIBLE && PM_SLEEP
vim +/protocol +1971 drivers/net/ethernet/intel/ice/ice_txrx.c
1944 1945 /** 1946 * ice_tso - computes mss and TSO length to prepare for TSO 1947 * @first: pointer to struct ice_tx_buf 1948 * @off: pointer to struct that holds offload parameters 1949 * 1950 * Returns 0 or error (negative) if TSO can't happen, 1 otherwise. 1951 */ 1952 static 1953 int ice_tso(struct ice_tx_buf *first, struct ice_tx_offload_params *off) 1954 { 1955 struct sk_buff *skb = first->skb; 1956 union { 1957 struct iphdr *v4; 1958 struct ipv6hdr *v6; 1959 unsigned char *hdr; 1960 } ip; 1961 union { 1962 struct tcphdr *tcp; 1963 struct udphdr *udp; 1964 unsigned char *hdr; 1965 } l4; 1966 u64 cd_mss, cd_tso_len; 1967 __be16 protocol; 1968 u32 paylen; 1969 u8 l4_start; 1970 int err; > 1971 __be16 protocol; 1972 1973 if (skb->ip_summed != CHECKSUM_PARTIAL) 1974 return 0; 1975 1976 if (!skb_is_gso(skb)) 1977 return 0; 1978 1979 err = skb_cow_head(skb, 0); 1980 if (err < 0) 1981 return err; 1982 1983 /* cppcheck-suppress unreadVariable */ 1984 protocol = vlan_get_protocol(skb); 1985 1986 if (eth_p_mpls(protocol)) 1987 ip.hdr = skb_inner_network_header(skb); 1988 else 1989 ip.hdr = skb_network_header(skb); 1990 l4.hdr = skb_checksum_start(skb); 1991 1992 /* initialize outer IP header fields */ 1993 if (ip.v4->version == 4) { 1994 ip.v4->tot_len = 0; 1995 ip.v4->check = 0; 1996 } else { 1997 ip.v6->payload_len = 0; 1998 } 1999 2000 if (skb_shinfo(skb)->gso_type & (SKB_GSO_GRE | 2001 SKB_GSO_GRE_CSUM | 2002 SKB_GSO_IPXIP4 | 2003 SKB_GSO_IPXIP6 | 2004 SKB_GSO_UDP_TUNNEL | 2005 SKB_GSO_UDP_TUNNEL_CSUM)) { 2006 if (!(skb_shinfo(skb)->gso_type & SKB_GSO_PARTIAL) && 2007 (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_TUNNEL_CSUM)) { 2008 l4.udp->len = 0; 2009 2010 /* determine offset of outer transport header */ 2011 l4_start = (u8)(l4.hdr - skb->data); 2012 2013 /* remove payload length from outer checksum */ 2014 paylen = skb->len - l4_start; 2015 csum_replace_by_diff(&l4.udp->check, 2016 (__force __wsum)htonl(paylen)); 2017 } 2018 2019 /* reset pointers to inner headers */ 2020 2021 /* cppcheck-suppress unreadVariable */ 2022 ip.hdr = skb_inner_network_header(skb); 2023 l4.hdr = skb_inner_transport_header(skb); 2024 2025 /* initialize inner IP header fields */ 2026 if (ip.v4->version == 4) { 2027 ip.v4->tot_len = 0; 2028 ip.v4->check = 0; 2029 } else { 2030 ip.v6->payload_len = 0; 2031 } 2032 } 2033 2034 /* determine offset of transport header */ 2035 l4_start = (u8)(l4.hdr - skb->data); 2036 2037 /* remove payload length from checksum */ 2038 paylen = skb->len - l4_start; 2039 2040 if (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_L4) { 2041 csum_replace_by_diff(&l4.udp->check, 2042 (__force __wsum)htonl(paylen)); 2043 /* compute length of UDP segmentation header */ 2044 off->header_len = (u8)sizeof(l4.udp) + l4_start; 2045 } else { 2046 csum_replace_by_diff(&l4.tcp->check, 2047 (__force __wsum)htonl(paylen)); 2048 /* compute length of TCP segmentation header */ 2049 off->header_len = (u8)((l4.tcp->doff * 4) + l4_start); 2050 } 2051 2052 /* update gso_segs and bytecount */ 2053 first->gso_segs = skb_shinfo(skb)->gso_segs; 2054 first->bytecount += (first->gso_segs - 1) * off->header_len; 2055 2056 cd_tso_len = skb->len - off->header_len; 2057 cd_mss = skb_shinfo(skb)->gso_size; 2058 2059 /* record cdesc_qw1 with TSO parameters */ 2060 off->cd_qw1 |= (u64)(ICE_TX_DESC_DTYPE_CTX | 2061 (ICE_TX_CTX_DESC_TSO << ICE_TXD_CTX_QW1_CMD_S) | 2062 (cd_tso_len << ICE_TXD_CTX_QW1_TSO_LEN_S) | 2063 (cd_mss << ICE_TXD_CTX_QW1_MSS_S)); 2064 first->tx_flags |= ICE_TX_FLAGS_TSO; 2065 return 1; 2066 } 2067
-- 0-DAY CI Kernel Test Service https://01.org/lkp
| |