tree:
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 7ddd09fc4b745fb1d8942f95389583e08412e0cd
commit: 548c4940b9f1f527f81509468dd60b61418880b6 [3152/5337] net: ena: Implement XDP_TX
action
config: i386-randconfig-a003-20200103 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.2-10+deb8u1) 4.9.2
reproduce:
git checkout 548c4940b9f1f527f81509468dd60b61418880b6
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new 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]
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 kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation