]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
vsock/virtio: enable VQs early on probe
authorStefano Garzarella <sgarzare@redhat.com>
Wed, 23 Mar 2022 17:36:25 +0000 (18:36 +0100)
committerStefan Bader <stefan.bader@canonical.com>
Fri, 20 May 2022 12:39:35 +0000 (14:39 +0200)
BugLink: https://bugs.launchpad.net/bugs/1969110
[ Upstream commit 88704454ef8b00ea91537ae0d47d9348077e0e72 ]

virtio spec requires drivers to set DRIVER_OK before using VQs.
This is set automatically after probe returns, but virtio-vsock
driver uses VQs in the probe function to fill rx and event VQs
with new buffers.

Let's fix this, calling virtio_device_ready() before using VQs
in the probe function.

Fixes: 0ea9e1d3a9e3 ("VSOCK: Introduce virtio_transport.ko")
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 8b320893461cfdfbdb89f183737e1d7df67d7d7a)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
net/vmw_vsock/virtio_transport.c

index 4a8548bdf86cb79e828f4072cec4b63763aeb54f..c5f936fbf876d822381f8d32741d062f4c717d63 100644 (file)
@@ -627,6 +627,8 @@ static int virtio_vsock_probe(struct virtio_device *vdev)
 
        vdev->priv = vsock;
 
+       virtio_device_ready(vdev);
+
        mutex_lock(&vsock->tx_lock);
        vsock->tx_run = true;
        mutex_unlock(&vsock->tx_lock);