On 3/22/23 11:23, Boleslav Stankevich wrote:
rte_intr_vec_list_alloc() may fail because of different reasons which
are indicated by different negative errno values.
Fixes: d61138d4f0e2 ("drivers: remove direct access to interrupt handle")
Cc: sta...@dpdk.org
Signed-off-by: Boleslav Stankevich <boleslav.stankev...@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru>
---
drivers/net/virtio/virtio_ethdev.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/net/virtio/virtio_ethdev.c
b/drivers/net/virtio/virtio_ethdev.c
index ae84d313be..5c8b7b95e9 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -1390,6 +1390,7 @@ static int
virtio_configure_intr(struct rte_eth_dev *dev)
{
struct virtio_hw *hw = dev->data->dev_private;
+ int ret;
if (!rte_intr_cap_multiple(dev->intr_handle)) {
PMD_INIT_LOG(ERR, "Multiple intr vector not supported");
@@ -1401,11 +1402,12 @@ virtio_configure_intr(struct rte_eth_dev *dev)
return -1;
}
- if (rte_intr_vec_list_alloc(dev->intr_handle, "intr_vec",
- hw->max_queue_pairs)) {
+ ret = rte_intr_vec_list_alloc(dev->intr_handle, "intr_vec",
+ hw->max_queue_pairs);
+ if (ret < 0) {
PMD_INIT_LOG(ERR, "Failed to allocate %u rxq vectors",
hw->max_queue_pairs);
- return -ENOMEM;
+ return ret;
}
if (dev->data->dev_flags & RTE_ETH_DEV_INTR_LSC) {
Applied to dpdk-next-virtio/main.
Thanks,
Maxime