]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - net/vmw_vsock/virtio_transport.c
vsock/virtio: Initialize core virtio vsock before registering the driver
[mirror_ubuntu-bionic-kernel.git] / net / vmw_vsock / virtio_transport.c
index 15eb5d3d475094778cd21cfeeec096cb20a89715..96ab344f17bbc1bfd466dfdbf5845df4b6a49c8d 100644 (file)
@@ -702,28 +702,27 @@ static int __init virtio_vsock_init(void)
        if (!virtio_vsock_workqueue)
                return -ENOMEM;
 
-       ret = register_virtio_driver(&virtio_vsock_driver);
+       ret = vsock_core_init(&virtio_transport.transport);
        if (ret)
                goto out_wq;
 
-       ret = vsock_core_init(&virtio_transport.transport);
+       ret = register_virtio_driver(&virtio_vsock_driver);
        if (ret)
-               goto out_vdr;
+               goto out_vci;
 
        return 0;
 
-out_vdr:
-       unregister_virtio_driver(&virtio_vsock_driver);
+out_vci:
+       vsock_core_exit();
 out_wq:
        destroy_workqueue(virtio_vsock_workqueue);
        return ret;
-
 }
 
 static void __exit virtio_vsock_exit(void)
 {
-       vsock_core_exit();
        unregister_virtio_driver(&virtio_vsock_driver);
+       vsock_core_exit();
        destroy_workqueue(virtio_vsock_workqueue);
 }