diff options
Diffstat (limited to 'net/vmw_vsock/af_vsock.c')
-rw-r--r-- | net/vmw_vsock/af_vsock.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c index df5fc6b340f1..00e8a349aabc 100644 --- a/net/vmw_vsock/af_vsock.c +++ b/net/vmw_vsock/af_vsock.c | |||
@@ -1948,13 +1948,13 @@ int __vsock_core_init(const struct vsock_transport *t, struct module *owner) | |||
1948 | err = misc_register(&vsock_device); | 1948 | err = misc_register(&vsock_device); |
1949 | if (err) { | 1949 | if (err) { |
1950 | pr_err("Failed to register misc device\n"); | 1950 | pr_err("Failed to register misc device\n"); |
1951 | return -ENOENT; | 1951 | goto err_reset_transport; |
1952 | } | 1952 | } |
1953 | 1953 | ||
1954 | err = proto_register(&vsock_proto, 1); /* we want our slab */ | 1954 | err = proto_register(&vsock_proto, 1); /* we want our slab */ |
1955 | if (err) { | 1955 | if (err) { |
1956 | pr_err("Cannot register vsock protocol\n"); | 1956 | pr_err("Cannot register vsock protocol\n"); |
1957 | goto err_misc_deregister; | 1957 | goto err_deregister_misc; |
1958 | } | 1958 | } |
1959 | 1959 | ||
1960 | err = sock_register(&vsock_family_ops); | 1960 | err = sock_register(&vsock_family_ops); |
@@ -1969,8 +1969,9 @@ int __vsock_core_init(const struct vsock_transport *t, struct module *owner) | |||
1969 | 1969 | ||
1970 | err_unregister_proto: | 1970 | err_unregister_proto: |
1971 | proto_unregister(&vsock_proto); | 1971 | proto_unregister(&vsock_proto); |
1972 | err_misc_deregister: | 1972 | err_deregister_misc: |
1973 | misc_deregister(&vsock_device); | 1973 | misc_deregister(&vsock_device); |
1974 | err_reset_transport: | ||
1974 | transport = NULL; | 1975 | transport = NULL; |
1975 | err_busy: | 1976 | err_busy: |
1976 | mutex_unlock(&vsock_register_mutex); | 1977 | mutex_unlock(&vsock_register_mutex); |