From 1b27f8245eee1209d9ee27304fae3515e93ef5b0 Mon Sep 17 00:00:00 2001 From: Somnath Kotur Date: Wed, 27 Apr 2022 20:28:12 +0530 Subject: [PATCH] net/bnxt: fix ring group on Rx restart When an Rx queue is stopped and restarted, as part of that workflow, for cards that have ring groups, we free and reallocate the ring group. This new ring group is not communicated to the VNIC though via HWRM_VNIC_CFG cmd. Fix to issue HWRM_VNIC_CFG cmd on all adapters now in this scenario. Fixes: ed0ae3502fc9 ("net/bnxt: update ring group after ring stop start") Cc: stable@dpdk.org Signed-off-by: Somnath Kotur Reviewed-by: Ajit Khaparde Reviewed-by: Kalesh AP --- drivers/net/bnxt/bnxt_rxq.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/net/bnxt/bnxt_rxq.c b/drivers/net/bnxt/bnxt_rxq.c index 8147404d9c..9b5ff4ce2d 100644 --- a/drivers/net/bnxt/bnxt_rxq.c +++ b/drivers/net/bnxt/bnxt_rxq.c @@ -488,10 +488,11 @@ int bnxt_rx_queue_start(struct rte_eth_dev *dev, uint16_t rx_queue_id) if (rc) return rc; - if (BNXT_CHIP_P5(bp)) { - /* Reconfigure default receive ring and MRU. */ - bnxt_hwrm_vnic_cfg(bp, rxq->vnic); - } + if (BNXT_HAS_RING_GRPS(bp)) + rxq->vnic->dflt_ring_grp = bp->grp_info[rx_queue_id].fw_grp_id; + /* Reconfigure default receive ring and MRU. */ + bnxt_hwrm_vnic_cfg(bp, rxq->vnic); + PMD_DRV_LOG(INFO, "Rx queue started %d\n", rx_queue_id); if (dev_conf->rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) { -- 2.39.5