Hi Sameeh,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   69119673bd50b176ded34032fadd41530fb5af21
commit: 548c4940b9f1f527f81509468dd60b61418880b6 net: ena: Implement XDP_TX 
action
date:   6 months ago
config: i386-randconfig-r004-20200617 (attached as .config)
compiler: gcc-4.9 (Ubuntu 4.9.3-13ubuntu2) 4.9.3
reproduce (this is a W=1 build):
        git checkout 548c4940b9f1f527f81509468dd60b61418880b6
        # 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: kernel test robot <l...@intel.com>

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

drivers/net/ethernet/amazon/ena/ena_netdev.c: In function 'ena_xdp_xmit_buff':
>> drivers/net/ethernet/amazon/ena/ena_netdev.c:312:9: warning: missing braces 
>> around initializer [-Wmissing-braces]
struct ena_com_tx_ctx ena_tx_ctx = {0};
^
drivers/net/ethernet/amazon/ena/ena_netdev.c:312:9: warning: (near 
initialization for 'ena_tx_ctx.ena_meta') [-Wmissing-braces]
drivers/net/ethernet/amazon/ena/ena_netdev.c:315:19: warning: variable 
'rx_ring' set but not used [-Wunused-but-set-variable]
struct ena_ring *rx_ring;
^
drivers/net/ethernet/amazon/ena/ena_netdev.c: At top level:
drivers/net/ethernet/amazon/ena/ena_netdev.c:465:6: warning: no previous 
prototype for 'ena_xdp_exchange_program_rx_in_range' [-Wmissing-prototypes]
void ena_xdp_exchange_program_rx_in_range(struct ena_adapter *adapter,
^
drivers/net/ethernet/amazon/ena/ena_netdev.c:486:6: warning: no previous 
prototype for 'ena_xdp_exchange_program' [-Wmissing-prototypes]
void ena_xdp_exchange_program(struct ena_adapter *adapter,
^
drivers/net/ethernet/amazon/ena/ena_netdev.c:1553:5: warning: no previous 
prototype for 'ena_xdp_handle_buff' [-Wmissing-prototypes]
int ena_xdp_handle_buff(struct ena_ring *rx_ring, struct xdp_buff *xdp)
^

vim +312 drivers/net/ethernet/amazon/ena/ena_netdev.c

   305  
   306  static int ena_xdp_xmit_buff(struct net_device *dev,
   307                               struct xdp_buff *xdp,
   308                               int qid,
   309                               struct ena_rx_buffer *rx_info)
   310  {
   311          struct ena_adapter *adapter = netdev_priv(dev);
 > 312          struct ena_com_tx_ctx ena_tx_ctx = {0};
   313          struct ena_tx_buffer *tx_info;
   314          struct ena_ring *xdp_ring;
   315          struct ena_ring *rx_ring;
   316          u16 next_to_use, req_id;
   317          int rc;
   318          void *push_hdr;
   319          u32 push_len;
   320  
   321          xdp_ring = &adapter->tx_ring[qid];
   322          next_to_use = xdp_ring->next_to_use;
   323          req_id = xdp_ring->free_ids[next_to_use];
   324          tx_info = &xdp_ring->tx_buffer_info[req_id];
   325          tx_info->num_of_bufs = 0;
   326          rx_ring = &xdp_ring->adapter->rx_ring[qid -
   327                    xdp_ring->adapter->xdp_first_ring];
   328          page_ref_inc(rx_info->page);
   329          tx_info->xdp_rx_page = rx_info->page;
   330  
   331          rc = ena_xdp_tx_map_buff(xdp_ring, tx_info, xdp, &push_hdr, 
&push_len);
   332          if (unlikely(rc))
   333                  goto error_drop_packet;
   334  
   335          ena_tx_ctx.ena_bufs = tx_info->bufs;
   336          ena_tx_ctx.push_header = push_hdr;
   337          ena_tx_ctx.num_bufs = tx_info->num_of_bufs;
   338          ena_tx_ctx.req_id = req_id;
   339          ena_tx_ctx.header_len = push_len;
   340  
   341          rc = ena_xmit_common(dev,
   342                               xdp_ring,
   343                               tx_info,
   344                               &ena_tx_ctx,
   345                               next_to_use,
   346                               xdp->data_end - xdp->data);
   347          if (rc)
   348                  goto error_unmap_dma;
   349          /* trigger the dma engine. ena_com_write_sq_doorbell()
   350           * has a mb
   351           */
   352          ena_com_write_sq_doorbell(xdp_ring->ena_com_io_sq);
   353          u64_stats_update_begin(&xdp_ring->syncp);
   354          xdp_ring->tx_stats.doorbells++;
   355          u64_stats_update_end(&xdp_ring->syncp);
   356  
   357          return NETDEV_TX_OK;
   358  
   359  error_unmap_dma:
   360          ena_unmap_tx_buff(xdp_ring, tx_info);
   361          tx_info->xdpf = NULL;
   362  error_drop_packet:
   363  
   364          return NETDEV_TX_OK;
   365  }
   366  

---
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