From eed2d4cca835ddce26efa5b8f4f28b7e55dc448a Mon Sep 17 00:00:00 2001 From: Ciara Loftus Date: Mon, 1 Mar 2021 10:34:13 +0000 Subject: [PATCH] net/af_xdp: fix error handling during Rx queue setup [ upstream commit 831268022300cfbc338f65d43b8f685e50011c86 ] Prior to this commit, if rte_pktmbuf_alloc_bullk failed during rx queue setup the error was not returned to the user and they may incorrectly assume that the rx queue had been successfully set up. This commit ensures that the error is returned to the user. Bugzilla ID: 643 Fixes: d8a210774e1d ("net/af_xdp: support unaligned umem chunks") Signed-off-by: Ciara Loftus --- drivers/net/af_xdp/rte_eth_af_xdp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c b/drivers/net/af_xdp/rte_eth_af_xdp.c index ac253b1d81..f939f69740 100644 --- a/drivers/net/af_xdp/rte_eth_af_xdp.c +++ b/drivers/net/af_xdp/rte_eth_af_xdp.c @@ -899,7 +899,8 @@ xsk_configure(struct pmd_internals *internals, struct pkt_rx_queue *rxq, } #if defined(XDP_UMEM_UNALIGNED_CHUNK_FLAG) - if (rte_pktmbuf_alloc_bulk(rxq->umem->mb_pool, fq_bufs, reserve_size)) { + ret = rte_pktmbuf_alloc_bulk(rxq->umem->mb_pool, fq_bufs, reserve_size); + if (ret) { AF_XDP_LOG(DEBUG, "Failed to get enough buffers for fq.\n"); goto err; }