From 70697032d5a61ccf9d101df19c10975704ff7b90 Mon Sep 17 00:00:00 2001 From: Wei Zhao Date: Tue, 24 Oct 2017 16:45:10 +0800 Subject: [PATCH] net/i40e: fix queue number error in queue region when VSI is enabled with smaller number of queues, for example 1 or 6, it will cause error. 64 is the max number of queues that can be used for RSS, but VSI might be created with only few queues. Fixes: 7cbecc2f742 ("net/i40e: support queue region set and flush") Signed-off-by: Wei Zhao Reviewed-by: Ferruh Yigit --- drivers/net/i40e/rte_pmd_i40e.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/i40e/rte_pmd_i40e.c b/drivers/net/i40e/rte_pmd_i40e.c index 37da5cd839..aeb92af396 100644 --- a/drivers/net/i40e/rte_pmd_i40e.c +++ b/drivers/net/i40e/rte_pmd_i40e.c @@ -2825,6 +2825,7 @@ i40e_flush_queue_region_all_conf(struct rte_eth_dev *dev, { int32_t ret = -EINVAL; struct i40e_queue_regions *info = &pf->queue_region; + struct i40e_vsi *main_vsi = pf->main_vsi; if (on) { i40e_queue_region_pf_flowtype_conf(hw, pf); @@ -2845,7 +2846,7 @@ i40e_flush_queue_region_all_conf(struct rte_eth_dev *dev, } info->queue_region_number = 1; - info->region[0].queue_num = 64; + info->region[0].queue_num = main_vsi->nb_used_qps; info->region[0].queue_start_index = 0; ret = i40e_vsi_update_queue_region_mapping(hw, pf); -- 2.20.1