vdpa/mlx5: set default queue indices
The rte_vhost_get_vring_base function is being called to get the values
of last_avail_idx and last_used_idx.
These fields will not have the correct values in case the function
returns an error.
Adding a check for the function return value, and in the case of an
error, set the fields to be zero and print a warning message.
Fixes: bff7350110
("vdpa/mlx5: prepare virtio queues")
Cc: stable@dpdk.org
Signed-off-by: Asaf Penso <asafp@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
This commit is contained in:
parent
2f31273211
commit
6d6cd38f45
@ -236,10 +236,17 @@ mlx5_vdpa_virtq_setup(struct mlx5_vdpa_priv *priv,
|
||||
}
|
||||
attr.available_addr = gpa;
|
||||
}
|
||||
rte_vhost_get_vring_base(priv->vid, index, &last_avail_idx,
|
||||
ret = rte_vhost_get_vring_base(priv->vid, index, &last_avail_idx,
|
||||
&last_used_idx);
|
||||
DRV_LOG(INFO, "vid %d: Init last_avail_idx=%d, last_used_idx=%d for "
|
||||
"virtq %d.", priv->vid, last_avail_idx, last_used_idx, index);
|
||||
if (ret) {
|
||||
last_avail_idx = 0;
|
||||
last_used_idx = 0;
|
||||
DRV_LOG(WARNING, "Couldn't get vring base, idx are set to 0");
|
||||
} else {
|
||||
DRV_LOG(INFO, "vid %d: Init last_avail_idx=%d, last_used_idx=%d for "
|
||||
"virtq %d.", priv->vid, last_avail_idx,
|
||||
last_used_idx, index);
|
||||
}
|
||||
attr.hw_available_index = last_avail_idx;
|
||||
attr.hw_used_index = last_used_idx;
|
||||
attr.q_size = vq.size;
|
||||
|
Loading…
Reference in New Issue
Block a user