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

Reply via email to