[PATCH] net/virtio-user: fix vhost-kernel initialization

Maxime Coquelin maxime.coquelin at redhat.com
Fri Feb 17 13:31:19 CET 2023


This patch fixes a regression causing devices with
Vhost-kernel backends initialization to fail.

Indeed, Vhost-kernel backend init expects
dev->max_queue_pairs to be set at setup time, while its
assignment was moved after backend setup when adding
control queue support for Vhost-vdpa backends.

It is safe to set dev->max_queue_pairs early for
Vhost-kernel backends as if the backend does not support
multiqueue, its setup will fail.

Bugzilla ID: 1161
Fixes: 7be724856315 ("net/virtio-user: get max number of queue pairs from device")

Reported-by: Wei Ling <weix.ling at intel.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin at redhat.com>
---
 drivers/net/virtio/virtio_user/virtio_user_dev.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/virtio/virtio_user/virtio_user_dev.c b/drivers/net/virtio/virtio_user/virtio_user_dev.c
index ccb4d7326b..f46a131b5c 100644
--- a/drivers/net/virtio/virtio_user/virtio_user_dev.c
+++ b/drivers/net/virtio/virtio_user/virtio_user_dev.c
@@ -689,6 +689,7 @@ virtio_user_dev_init(struct virtio_user_dev *dev, char *path, uint16_t queues,
 
 	dev->started = 0;
 	dev->queue_pairs = 1; /* mq disabled by default */
+	dev->max_queue_pairs = queues; /* initialize to user requested value for kernel backend */
 	dev->queue_size = queue_size;
 	dev->is_server = server;
 	dev->mac_specified = 0;
-- 
2.39.1



More information about the dev mailing list