From: Lance Richardson <[email protected]>
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 Kumar Khaparde <[email protected]>
Reviewed-by: Somnath Kotur <[email protected]>
Signed-off-by: Somnath Kotur <[email protected]>
---
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 ebb9199..6b866d4 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.10.1.613.g2cc2e70