]> git.droids-corp.org - dpdk.git/commitdiff
net/virtio-user: fix Rx interrupts with multi-queue
authorDavid Marchand <david.marchand@redhat.com>
Tue, 31 Aug 2021 15:54:11 +0000 (17:54 +0200)
committerMaxime Coquelin <maxime.coquelin@redhat.com>
Tue, 14 Sep 2021 11:21:57 +0000 (13:21 +0200)
The callfds[] array stores eventfds sequentially for Rx and Tx vq.

Fixes: 3d4fb6fd2505 ("net/virtio-user: support Rx interrupt")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
drivers/net/virtio/virtio_user/virtio_user_dev.c

index 16c58710d78af8376a1d7d12ee7050d11fa7709b..89f8b2271fb1fa0739fabbdd4aa2a17e000364bf 100644 (file)
@@ -416,7 +416,7 @@ virtio_user_fill_intr_handle(struct virtio_user_dev *dev)
        }
 
        for (i = 0; i < dev->max_queue_pairs; ++i)
-               eth_dev->intr_handle->efds[i] = dev->callfds[i];
+               eth_dev->intr_handle->efds[i] = dev->callfds[2 * i];
        eth_dev->intr_handle->nb_efd = dev->max_queue_pairs;
        eth_dev->intr_handle->max_intr = dev->max_queue_pairs + 1;
        eth_dev->intr_handle->type = RTE_INTR_HANDLE_VDEV;