In Rx queue setup, input descriptors count is updated as per requirement, and stored. But during port reconfig , this descriptor count will change again in rx queue setup. Hence, will need to store the initial input descriptor count.
Fixes: a86144cd9ded ("net/cnxk: add Rx queue setup and release") Signed-off-by: Rahul Bhansali <rbhans...@marvell.com> --- drivers/net/cnxk/cnxk_ethdev.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/cnxk/cnxk_ethdev.c b/drivers/net/cnxk/cnxk_ethdev.c index 1ba09c068b..14e4e95419 100644 --- a/drivers/net/cnxk/cnxk_ethdev.c +++ b/drivers/net/cnxk/cnxk_ethdev.c @@ -653,6 +653,7 @@ cnxk_nix_rx_queue_setup(struct rte_eth_dev *eth_dev, uint16_t qid, struct roc_nix *nix = &dev->nix; struct cnxk_eth_rxq_sp *rxq_sp; struct rte_mempool_ops *ops; + uint32_t desc_cnt = nb_desc; const char *platform_ops; struct roc_nix_rq *rq; struct roc_nix_cq *cq; @@ -778,7 +779,7 @@ cnxk_nix_rx_queue_setup(struct rte_eth_dev *eth_dev, uint16_t qid, rxq_sp->qconf.conf.rx = *rx_conf; /* Queue config should reflect global offloads */ rxq_sp->qconf.conf.rx.offloads = dev->rx_offloads; - rxq_sp->qconf.nb_desc = nb_desc; + rxq_sp->qconf.nb_desc = desc_cnt; rxq_sp->qconf.mp = lpb_pool; rxq_sp->tc = 0; rxq_sp->tx_pause = (dev->fc_cfg.mode == RTE_ETH_FC_FULL || -- 2.25.1