]> git.ipfire.org Git - thirdparty/kernel/stable.git/blobdiff - net/iucv/af_iucv.c
net/af_iucv: clean up a try_then_request_module()
[thirdparty/kernel/stable.git] / net / iucv / af_iucv.c
index c8fbfc0be2e5a99a9b717eb20634d8a248d4dc18..4bff26f7faff677121306681cf751c5fa7d9b3f9 100644 (file)
@@ -2278,7 +2278,7 @@ static int __init afiucv_init(void)
 {
        int err;
 
-       if (MACHINE_IS_VM) {
+       if (MACHINE_IS_VM && IS_ENABLED(CONFIG_IUCV)) {
                cpcmd("QUERY USERID", iucv_userid, sizeof(iucv_userid), &err);
                if (unlikely(err)) {
                        WARN_ON(err);
@@ -2286,11 +2286,7 @@ static int __init afiucv_init(void)
                        goto out;
                }
 
-               pr_iucv = try_then_request_module(symbol_get(iucv_if), "iucv");
-               if (!pr_iucv) {
-                       printk(KERN_WARNING "iucv_if lookup failed\n");
-                       memset(&iucv_userid, 0, sizeof(iucv_userid));
-               }
+               pr_iucv = &iucv_if;
        } else {
                memset(&iucv_userid, 0, sizeof(iucv_userid));
                pr_iucv = NULL;
@@ -2324,17 +2320,13 @@ out_sock:
 out_proto:
        proto_unregister(&iucv_proto);
 out:
-       if (pr_iucv)
-               symbol_put(iucv_if);
        return err;
 }
 
 static void __exit afiucv_exit(void)
 {
-       if (pr_iucv) {
+       if (pr_iucv)
                afiucv_iucv_exit();
-               symbol_put(iucv_if);
-       }
 
        unregister_netdevice_notifier(&afiucv_netdev_notifier);
        dev_remove_pack(&iucv_packet_type);