vsock/virtio: enable VQs early on probe

[ Upstream commit 88704454ef ]

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: 0ea9e1d3a9 ("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>
This commit is contained in:
Stefano Garzarella 2022-03-23 18:36:25 +01:00 committed by Greg Kroah-Hartman
parent 3c5f5d5848
commit 76feaa7d00
1 changed files with 2 additions and 0 deletions

View 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);