rte_pktmbuf_prefree_seg() can return NULL if the mbuf still
has remaining references on it.
Adding a NULL check to prevent segfault.
Fixes:
bc4a000f2f53 ("net/bnxt: implement SSE vector mode")
Fixes:
398358341419 ("net/bnxt: support NEON")
Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
tx_buf = &txr->tx_buf_ring[cons];
cons = RING_NEXT(txr->tx_ring_struct, cons);
mbuf = rte_pktmbuf_prefree_seg(tx_buf->mbuf);
+ if (unlikely(mbuf == NULL))
+ continue;
tx_buf->mbuf = NULL;
if (blk && mbuf->pool != free[0]->pool) {
tx_buf = &txr->tx_buf_ring[cons];
cons = RING_NEXT(txr->tx_ring_struct, cons);
mbuf = rte_pktmbuf_prefree_seg(tx_buf->mbuf);
+ if (unlikely(mbuf == NULL))
+ continue;
tx_buf->mbuf = NULL;
if (blk && mbuf->pool != free[0]->pool) {