Skip to content

Commit

Permalink
net/bnxt: fix ring group on Rx restart
Browse files Browse the repository at this point in the history
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: ed0ae35 ("net/bnxt: update ring group after ring stop start")
Cc: stable@dpdk.org

Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
  • Loading branch information
skotur-brcm authored and ajitkhaparde committed May 10, 2022
1 parent 202a171 commit 1b27f82
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions drivers/net/bnxt/bnxt_rxq.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down

0 comments on commit 1b27f82

Please sign in to comment.