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: 7cbecc2f74
("net/i40e: support queue region set and flush")
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
This commit is contained in:
parent
79e4ee5668
commit
70697032d5
@ -2825,6 +2825,7 @@ i40e_flush_queue_region_all_conf(struct rte_eth_dev *dev,
|
|||||||
{
|
{
|
||||||
int32_t ret = -EINVAL;
|
int32_t ret = -EINVAL;
|
||||||
struct i40e_queue_regions *info = &pf->queue_region;
|
struct i40e_queue_regions *info = &pf->queue_region;
|
||||||
|
struct i40e_vsi *main_vsi = pf->main_vsi;
|
||||||
|
|
||||||
if (on) {
|
if (on) {
|
||||||
i40e_queue_region_pf_flowtype_conf(hw, pf);
|
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->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;
|
info->region[0].queue_start_index = 0;
|
||||||
|
|
||||||
ret = i40e_vsi_update_queue_region_mapping(hw, pf);
|
ret = i40e_vsi_update_queue_region_mapping(hw, pf);
|
||||||
|
Loading…
Reference in New Issue
Block a user