When freeing pending transmit mbufs, use rte_pktmbuf_free_seg() instead of rte_pktmbuf_free(), otherwise linked mbufs may be freed more than once.
Fixes: 6eb3cc2294fd ("net/bnxt: add initial Tx code") Reviewed-by: Ajit Khaparde <ajit.khapa...@broadcom.com> Signed-off-by: Lance Richardson <lance.richard...@broadcom.com> --- drivers/net/bnxt/bnxt_txq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_txq.c b/drivers/net/bnxt/bnxt_txq.c index ebb9199d2..6b866d445 100644 --- a/drivers/net/bnxt/bnxt_txq.c +++ b/drivers/net/bnxt/bnxt_txq.c @@ -34,7 +34,7 @@ static void bnxt_tx_queue_release_mbufs(struct bnxt_tx_queue *txq) if (sw_ring) { for (i = 0; i < txq->tx_ring->tx_ring_struct->ring_size; i++) { if (sw_ring[i].mbuf) { - rte_pktmbuf_free(sw_ring[i].mbuf); + rte_pktmbuf_free_seg(sw_ring[i].mbuf); sw_ring[i].mbuf = NULL; } } -- 2.17.1