[PATCH] virtio-vdpa: Use queue id when setting vq affinity

From: Xiong Weimin

Date: Tue Aug 04 2026 - 06:37:09 EST


When optional queues are skipped, pass the compressed vDPA queue id to
set_vq_affinity() so affinity is applied to the queue that was actually
created.

Signed-off-by: Xiong Weimin <xiongweimin@xxxxxxxxxx>
---
drivers/virtio/virtio_vdpa.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/virtio/virtio_vdpa.c b/drivers/virtio/virtio_vdpa.c
index de2af696d..6bcf4567a 100644
--- a/drivers/virtio/virtio_vdpa.c
+++ b/drivers/virtio/virtio_vdpa.c
@@ -352,7 +352,7 @@ static int virtio_vdpa_find_vqs(struct virtio_device *vdev, unsigned int nvqs,
continue;
}

- vqs[i] = virtio_vdpa_setup_vq(vdev, queue_idx++, vqi->callback,
+ vqs[i] = virtio_vdpa_setup_vq(vdev, queue_idx, vqi->callback,
vqi->name, vqi->ctx);
if (IS_ERR(vqs[i])) {
err = PTR_ERR(vqs[i]);
@@ -360,7 +360,8 @@ static int virtio_vdpa_find_vqs(struct virtio_device *vdev, unsigned int nvqs,
}

if (has_affinity)
- ops->set_vq_affinity(vdpa, i, &masks[i]);
+ ops->set_vq_affinity(vdpa, queue_idx, &masks[i]);
+ queue_idx++;
}

cb.callback = virtio_vdpa_config_cb;
--
2.43.0