[dpdk-dev] [PATCH] vdpa/mlx5: set default queue indices
Asaf Penso
asafp at mellanox.com
Mon Mar 23 18:50:13 CET 2020
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.
Signed-off-by: Asaf Penso <asafp at mellanox.com>
Acked-by: Matan Azrad <matan at mellanox.com>
---
drivers/vdpa/mlx5/mlx5_vdpa_virtq.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/drivers/vdpa/mlx5/mlx5_vdpa_virtq.c b/drivers/vdpa/mlx5/mlx5_vdpa_virtq.c
index 2312331..cb2d61b 100644
--- a/drivers/vdpa/mlx5/mlx5_vdpa_virtq.c
+++ b/drivers/vdpa/mlx5/mlx5_vdpa_virtq.c
@@ -236,10 +236,17 @@
}
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;
--
1.8.3.1
More information about the dev
mailing list