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.khapa...@broadcom.com> Reviewed-by: Somnath Kotur <somnath.ko...@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)