From: Rahul Gupta <[email protected]>
When a queue is started after deferred_start, then increment raw_prod
irrespective of new mbuf is allocated or old mbufs are used.
Fixes: d256c73c1122 ("net/bnxt: fix memory leak during queue restart")
Cc: [email protected]
Signed-off-by: Rahul Gupta <[email protected]>
Signed-off-by: Kalesh AP <[email protected]>
Reviewed-by: Somnath Kotur <[email protected]>
Reviewed-by: Ajit Khaparde <[email protected]>
---
drivers/net/bnxt/bnxt_rxr.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c
index d2955ba..ee1acb1 100644
--- a/drivers/net/bnxt/bnxt_rxr.c
+++ b/drivers/net/bnxt/bnxt_rxr.c
@@ -987,9 +987,9 @@ int bnxt_init_one_rx_ring(struct bnxt_rx_queue *rxq)
rxq->queue_id, i, ring->ring_size);
break;
}
- rxr->rx_prod = prod;
- prod = RING_NEXT(rxr->rx_ring_struct, prod);
}
+ rxr->rx_prod = prod;
+ prod = RING_NEXT(rxr->rx_ring_struct, prod);
}
ring = rxr->ag_ring_struct;
@@ -1005,9 +1005,9 @@ int bnxt_init_one_rx_ring(struct bnxt_rx_queue *rxq)
rxq->queue_id, i, ring->ring_size);
break;
}
- rxr->ag_prod = prod;
- prod = RING_NEXT(rxr->ag_ring_struct, prod);
}
+ rxr->ag_prod = prod;
+ prod = RING_NEXT(rxr->ag_ring_struct, prod);
}
PMD_DRV_LOG(DEBUG, "AGG Done!\n");
--
2.10.1