Hi Pascal,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on staging/staging-testing]
[also build test ERROR on next-20200602]
[cannot apply to v5.7]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    
https://github.com/0day-ci/linux/commits/Pascal-Terjan/staging-rtl8712-switch-to-common-ieee80211-headers/20200602-042517
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 
77f55d1305c11fb729b88f2c3f7881ba0831fa6f
config: i386-randconfig-a011-20200602 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce (this is a W=1 build):
        # save the attached .config to linux build tree
        make W=1 ARCH=i386 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <l...@intel.com>

All errors (new ones prefixed by >>, old ones prefixed by <<):

ld: drivers/staging/rtl8712/rtl8712_recv.o: in function `amsdu_to_msdu':
>> drivers/staging/rtl8712/rtl8712_recv.c:377: undefined reference to 
>> `bridge_tunnel_header'
>> ld: drivers/staging/rtl8712/rtl8712_recv.c:375: undefined reference to 
>> `rfc1042_header'
>> ld: drivers/staging/rtl8712/rtl8712_recv.c:377: undefined reference to 
>> `bridge_tunnel_header'
>> ld: drivers/staging/rtl8712/rtl8712_recv.c:375: undefined reference to 
>> `rfc1042_header'
ld: drivers/staging/rtl8712/rtl871x_recv.o: in function 
`r8712_wlanhdr_to_ethhdr':
>> drivers/staging/rtl8712/rtl871x_recv.c:603: undefined reference to 
>> `rfc1042_header'
>> ld: drivers/staging/rtl8712/rtl871x_recv.c:606: undefined reference to 
>> `bridge_tunnel_header'
>> ld: drivers/staging/rtl8712/rtl871x_recv.c:603: undefined reference to 
>> `rfc1042_header'
>> ld: drivers/staging/rtl8712/rtl871x_recv.c:606: undefined reference to 
>> `bridge_tunnel_header'

vim +377 drivers/staging/rtl8712/rtl8712_recv.c

2865d42c78a912 Larry Finger        2010-08-20  314  
fc898688aa37c0 Nishka Dasgupta     2019-08-08  315  static void 
amsdu_to_msdu(struct _adapter *padapter, union recv_frame *prframe)
2865d42c78a912 Larry Finger        2010-08-20  316  {
2865d42c78a912 Larry Finger        2010-08-20  317      int     a_len, 
padding_len;
2865d42c78a912 Larry Finger        2010-08-20  318      u16     eth_type, 
nSubframe_Length;
2865d42c78a912 Larry Finger        2010-08-20  319      u8      nr_subframes, i;
b952f4dff27512 yuan linyu          2017-06-18  320      unsigned char *pdata;
2865d42c78a912 Larry Finger        2010-08-20  321      struct rx_pkt_attrib 
*pattrib;
2865d42c78a912 Larry Finger        2010-08-20  322      _pkt *sub_skb, 
*subframes[MAX_SUBFRAME_COUNT];
2865d42c78a912 Larry Finger        2010-08-20  323      struct recv_priv 
*precvpriv = &padapter->recvpriv;
2865d42c78a912 Larry Finger        2010-08-20  324      struct  __queue 
*pfree_recv_queue = &(precvpriv->free_recv_queue);
2865d42c78a912 Larry Finger        2010-08-20  325  
2865d42c78a912 Larry Finger        2010-08-20  326      nr_subframes = 0;
2865d42c78a912 Larry Finger        2010-08-20  327      pattrib = 
&prframe->u.hdr.attrib;
2865d42c78a912 Larry Finger        2010-08-20  328      recvframe_pull(prframe, 
prframe->u.hdr.attrib.hdrlen);
2865d42c78a912 Larry Finger        2010-08-20  329      if 
(prframe->u.hdr.attrib.iv_len > 0)
2865d42c78a912 Larry Finger        2010-08-20  330              
recvframe_pull(prframe, prframe->u.hdr.attrib.iv_len);
2865d42c78a912 Larry Finger        2010-08-20  331      a_len = 
prframe->u.hdr.len;
2865d42c78a912 Larry Finger        2010-08-20  332      pdata = 
prframe->u.hdr.rx_data;
2865d42c78a912 Larry Finger        2010-08-20  333      while (a_len > 
ETH_HLEN) {
2865d42c78a912 Larry Finger        2010-08-20  334              /* Offset 12 
denote 2 mac address */
2865d42c78a912 Larry Finger        2010-08-20  335              
nSubframe_Length = *((u16 *)(pdata + 12));
2865d42c78a912 Larry Finger        2010-08-20  336              /*==m==>change 
the length order*/
2865d42c78a912 Larry Finger        2010-08-20  337              
nSubframe_Length = (nSubframe_Length >> 8) +
2865d42c78a912 Larry Finger        2010-08-20  338                              
   (nSubframe_Length << 8);
2865d42c78a912 Larry Finger        2010-08-20  339              if (a_len < 
(ETHERNET_HEADER_SIZE + nSubframe_Length)) {
87a573ada017b4 Przemo Firszt       2012-12-10  340                      
netdev_warn(padapter->pnetdev, "r8712u: nRemain_Length is %d and 
nSubframe_Length is: %d\n",
2865d42c78a912 Larry Finger        2010-08-20  341                              
    a_len, nSubframe_Length);
2865d42c78a912 Larry Finger        2010-08-20  342                      goto 
exit;
2865d42c78a912 Larry Finger        2010-08-20  343              }
2865d42c78a912 Larry Finger        2010-08-20  344              /* move the 
data point to data content */
2865d42c78a912 Larry Finger        2010-08-20  345              pdata += 
ETH_HLEN;
2865d42c78a912 Larry Finger        2010-08-20  346              a_len -= 
ETH_HLEN;
2865d42c78a912 Larry Finger        2010-08-20  347              /* Allocate new 
skb for releasing to upper layer */
2865d42c78a912 Larry Finger        2010-08-20  348              sub_skb = 
dev_alloc_skb(nSubframe_Length + 12);
5ca136a0cb96aa Larry Finger        2012-08-28  349              if (!sub_skb)
5ca136a0cb96aa Larry Finger        2012-08-28  350                      break;
2865d42c78a912 Larry Finger        2010-08-20  351              
skb_reserve(sub_skb, 12);
b952f4dff27512 yuan linyu          2017-06-18  352              
skb_put_data(sub_skb, pdata, nSubframe_Length);
2865d42c78a912 Larry Finger        2010-08-20  353              
subframes[nr_subframes++] = sub_skb;
2865d42c78a912 Larry Finger        2010-08-20  354              if 
(nr_subframes >= MAX_SUBFRAME_COUNT) {
87a573ada017b4 Przemo Firszt       2012-12-10  355                      
netdev_warn(padapter->pnetdev, "r8712u: ParseSubframe(): Too many Subframes! 
Packets dropped!\n");
2865d42c78a912 Larry Finger        2010-08-20  356                      break;
2865d42c78a912 Larry Finger        2010-08-20  357              }
2865d42c78a912 Larry Finger        2010-08-20  358              pdata += 
nSubframe_Length;
2865d42c78a912 Larry Finger        2010-08-20  359              a_len -= 
nSubframe_Length;
2865d42c78a912 Larry Finger        2010-08-20  360              if (a_len != 0) 
{
2865d42c78a912 Larry Finger        2010-08-20  361                      
padding_len = 4 - ((nSubframe_Length + ETH_HLEN) & 3);
2865d42c78a912 Larry Finger        2010-08-20  362                      if 
(padding_len == 4)
2865d42c78a912 Larry Finger        2010-08-20  363                              
padding_len = 0;
2865d42c78a912 Larry Finger        2010-08-20  364                      if 
(a_len < padding_len)
2865d42c78a912 Larry Finger        2010-08-20  365                              
goto exit;
2865d42c78a912 Larry Finger        2010-08-20  366                      pdata 
+= padding_len;
2865d42c78a912 Larry Finger        2010-08-20  367                      a_len 
-= padding_len;
2865d42c78a912 Larry Finger        2010-08-20  368              }
2865d42c78a912 Larry Finger        2010-08-20  369      }
2865d42c78a912 Larry Finger        2010-08-20  370      for (i = 0; i < 
nr_subframes; i++) {
2865d42c78a912 Larry Finger        2010-08-20  371              sub_skb = 
subframes[i];
2865d42c78a912 Larry Finger        2010-08-20  372              /* convert hdr 
+ possible LLC headers into Ethernet header */
2865d42c78a912 Larry Finger        2010-08-20  373              eth_type = 
(sub_skb->data[6] << 8) | sub_skb->data[7];
2865d42c78a912 Larry Finger        2010-08-20  374              if 
(sub_skb->len >= 8 &&
2865d42c78a912 Larry Finger        2010-08-20 @375                  
((!memcmp(sub_skb->data, rfc1042_header, SNAP_SIZE) &&
2865d42c78a912 Larry Finger        2010-08-20  376                    eth_type 
!= ETH_P_AARP && eth_type != ETH_P_IPX) ||
2865d42c78a912 Larry Finger        2010-08-20 @377                   
!memcmp(sub_skb->data, bridge_tunnel_header, SNAP_SIZE))) {
2865d42c78a912 Larry Finger        2010-08-20  378                      /* 
remove RFC1042 or Bridge-Tunnel encapsulation and
bef611a92ee2d1 Raphaël Beamonte    2016-09-09  379                       * 
replace EtherType
bef611a92ee2d1 Raphaël Beamonte    2016-09-09  380                       */
2865d42c78a912 Larry Finger        2010-08-20  381                      
skb_pull(sub_skb, SNAP_SIZE);
2865d42c78a912 Larry Finger        2010-08-20  382                      
memcpy(skb_push(sub_skb, ETH_ALEN), pattrib->src,
2865d42c78a912 Larry Finger        2010-08-20  383                             
ETH_ALEN);
2865d42c78a912 Larry Finger        2010-08-20  384                      
memcpy(skb_push(sub_skb, ETH_ALEN), pattrib->dst,
2865d42c78a912 Larry Finger        2010-08-20  385                             
ETH_ALEN);
2865d42c78a912 Larry Finger        2010-08-20  386              } else {
16b8852fa32106 Jannik Becher       2016-12-20  387                      __be16 
len;
2865d42c78a912 Larry Finger        2010-08-20  388                      /* 
Leave Ethernet header part of hdr and full payload */
2865d42c78a912 Larry Finger        2010-08-20  389                      len = 
htons(sub_skb->len);
2865d42c78a912 Larry Finger        2010-08-20  390                      
memcpy(skb_push(sub_skb, 2), &len, 2);
2865d42c78a912 Larry Finger        2010-08-20  391                      
memcpy(skb_push(sub_skb, ETH_ALEN), pattrib->src,
2865d42c78a912 Larry Finger        2010-08-20  392                             
ETH_ALEN);
2865d42c78a912 Larry Finger        2010-08-20  393                      
memcpy(skb_push(sub_skb, ETH_ALEN), pattrib->dst,
2865d42c78a912 Larry Finger        2010-08-20  394                             
ETH_ALEN);
2865d42c78a912 Larry Finger        2010-08-20  395              }
2865d42c78a912 Larry Finger        2010-08-20  396              /* Indicate the 
packets to upper layer */
2865d42c78a912 Larry Finger        2010-08-20  397              if (sub_skb) {
2865d42c78a912 Larry Finger        2010-08-20  398                      
sub_skb->protocol =
2865d42c78a912 Larry Finger        2010-08-20  399                              
 eth_type_trans(sub_skb, padapter->pnetdev);
2865d42c78a912 Larry Finger        2010-08-20  400                      
sub_skb->dev = padapter->pnetdev;
2865d42c78a912 Larry Finger        2010-08-20  401                      if 
((pattrib->tcpchk_valid == 1) &&
2865d42c78a912 Larry Finger        2010-08-20  402                          
(pattrib->tcp_chkrpt == 1)) {
2865d42c78a912 Larry Finger        2010-08-20  403                              
sub_skb->ip_summed = CHECKSUM_UNNECESSARY;
168a2c10288d78 Luis de Bethencourt 2015-10-19  404                      } else {
2865d42c78a912 Larry Finger        2010-08-20  405                              
sub_skb->ip_summed = CHECKSUM_NONE;
168a2c10288d78 Luis de Bethencourt 2015-10-19  406                      }
2865d42c78a912 Larry Finger        2010-08-20  407                      
netif_rx(sub_skb);
2865d42c78a912 Larry Finger        2010-08-20  408              }
2865d42c78a912 Larry Finger        2010-08-20  409      }
2865d42c78a912 Larry Finger        2010-08-20  410  exit:
2865d42c78a912 Larry Finger        2010-08-20  411      prframe->u.hdr.len = 0;
2865d42c78a912 Larry Finger        2010-08-20  412      
r8712_free_recvframe(prframe, pfree_recv_queue);
2865d42c78a912 Larry Finger        2010-08-20  413  }
2865d42c78a912 Larry Finger        2010-08-20  414  

:::::: The code at line 377 was first introduced by commit
:::::: 2865d42c78a9121caad52cb02d1fbb7f5cdbc4ef staging: r8712u: Add the new 
driver to the mainline kernel

:::::: TO: Larry Finger <larry.fin...@lwfinger.net>
:::::: CC: Larry Finger <larry.fin...@lwfinger.net>

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

Attachment: .config.gz
Description: application/gzip

Reply via email to