diff options
author | 2022-03-24 18:36:38 -0700 | |
---|---|---|
committer | 2022-03-24 18:36:39 -0700 | |
commit | a81687886ca9a64c0aeefefcbc6e7a64ce083ab0 (patch) | |
tree | 4775b0f76a941c0bef15d5a4405f947476c0764a | |
parent | net: usb: ax88179_178a: add Allied Telesis AT-UMCs (diff) | |
parent | vsock/virtio: enable VQs early on probe (diff) | |
download | linux-dev-a81687886ca9a64c0aeefefcbc6e7a64ce083ab0.tar.xz linux-dev-a81687886ca9a64c0aeefefcbc6e7a64ce083ab0.zip |
Merge branch 'vsock-virtio-enable-vqs-early-on-probe-and-finish-the-setup-before-using-them'
Stefano Garzarella says:
====================
vsock/virtio: enable VQs early on probe and finish the setup before using them
The first patch fixes a virtio-spec violation. The other two patches
complete the driver configuration before using the VQs in the probe.
The patch order should simplify backporting in stable branches.
v2: https://lore.kernel.org/netdev/20220323084954.11769-1-sgarzare@redhat.com/
v1: https://lore.kernel.org/netdev/20220322103823.83411-1-sgarzare@redhat.com/
====================
Link: https://lore.kernel.org/r/20220323173625.91119-1-sgarzare@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r-- | net/vmw_vsock/virtio_transport.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/net/vmw_vsock/virtio_transport.c b/net/vmw_vsock/virtio_transport.c index 5afc194a58bb..ba1c8cc0c467 100644 --- a/net/vmw_vsock/virtio_transport.c +++ b/net/vmw_vsock/virtio_transport.c @@ -622,6 +622,13 @@ static int virtio_vsock_probe(struct virtio_device *vdev) INIT_WORK(&vsock->event_work, virtio_transport_event_work); INIT_WORK(&vsock->send_pkt_work, virtio_transport_send_pkt_work); + if (virtio_has_feature(vdev, VIRTIO_VSOCK_F_SEQPACKET)) + vsock->seqpacket_allow = true; + + vdev->priv = vsock; + + virtio_device_ready(vdev); + mutex_lock(&vsock->tx_lock); vsock->tx_run = true; mutex_unlock(&vsock->tx_lock); @@ -636,10 +643,6 @@ static int virtio_vsock_probe(struct virtio_device *vdev) vsock->event_run = true; mutex_unlock(&vsock->event_lock); - if (virtio_has_feature(vdev, VIRTIO_VSOCK_F_SEQPACKET)) - vsock->seqpacket_allow = true; - - vdev->priv = vsock; rcu_assign_pointer(the_virtio_vsock, vsock); mutex_unlock(&the_virtio_vsock_mutex); |