Original code max_queues is set to IFCVF_MAX_QUEUES.
New code max_queues is the min of IFCVF_MAX_QUEUES and hardware num_queues.

Signed-off-by: Andy Pei <andy....@intel.com>
---
 drivers/vdpa/ifc/ifcvf_vdpa.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/vdpa/ifc/ifcvf_vdpa.c b/drivers/vdpa/ifc/ifcvf_vdpa.c
index 3c4e5f6..86dd1c6 100644
--- a/drivers/vdpa/ifc/ifcvf_vdpa.c
+++ b/drivers/vdpa/ifc/ifcvf_vdpa.c
@@ -1530,6 +1530,10 @@ struct rte_vdpa_dev_info dev_info[] = {
                        internal->hw.blk_cfg->geometry.sectors);
                DRV_LOG(INFO, "num_queues: 0x%08x",
                        internal->hw.blk_cfg->num_queues);
+
+               /* reset max_queue here, to minimum modification */
+               internal->max_queues = RTE_MIN(IFCVF_MAX_QUEUES,
+                       internal->hw.blk_cfg->num_queues);
        }
 
        list->internal = internal;
-- 
1.8.3.1

Reply via email to