[dpdk-dev] [PATCH] net/bnxt: fix Rx queue pool calculation

Ajit Khaparde ajit.khaparde at broadcom.com
Mon Nov 18 21:31:50 CET 2019


When the number of Rx queues requested by the application is less than
the number of pools calculated, we end up calling HWRM_VNIC_ALLOC with
incorrect parameters. This causes the firmware to return an error.
Fix the Rx queue pool calculation.

Fixes: 10bb6ddc2984 ("net/bnxt: fix flow creation with non-consecutive group ids")

Signed-off-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur at broadcom.com>
---
 drivers/net/bnxt/bnxt_rxq.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/bnxt/bnxt_rxq.c b/drivers/net/bnxt/bnxt_rxq.c
index 94f105d34..457ebede0 100644
--- a/drivers/net/bnxt/bnxt_rxq.c
+++ b/drivers/net/bnxt/bnxt_rxq.c
@@ -104,6 +104,7 @@ int bnxt_mq_rx_configure(struct bnxt *bp)
 		pools = bp->rx_cosq_cnt ? bp->rx_cosq_cnt : pools;
 	}
 
+	pools = RTE_MIN(pools, bp->rx_cp_nr_rings);
 	nb_q_per_grp = bp->rx_cp_nr_rings / pools;
 	bp->rx_num_qs_per_vnic = nb_q_per_grp;
 	PMD_DRV_LOG(DEBUG, "pools = %u nb_q_per_grp = %u\n",
-- 
2.21.0 (Apple Git-122.2)



More information about the dev mailing list