--- /dev/null
+From b5bb18145139e31f5d06c8956d6b5034221744f8 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 9 Aug 2021 10:30:47 +0200
+Subject: net/af_iucv: clean up a try_then_request_module()
+
+From: Julian Wiedmann <jwi@linux.ibm.com>
+
+[ Upstream commit 4eb9eda6ba64114d98827e2870e024d5ab7cd35b ]
+
+Use IS_ENABLED(CONFIG_IUCV) to determine whether the iucv_if symbol
+is available, and let depmod deal with the module dependency.
+
+This was introduced back with commit 6fcd61f7bf5d ("af_iucv: use
+loadable iucv interface"). And to avoid sprinkling IS_ENABLED() over
+all the code, we're keeping the indirection through pr_iucv->...().
+
+Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
+Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ net/iucv/af_iucv.c | 14 +++-----------
+ 1 file changed, 3 insertions(+), 11 deletions(-)
+
+diff --git a/net/iucv/af_iucv.c b/net/iucv/af_iucv.c
+index bbc1924d64e5..652285191da1 100644
+--- a/net/iucv/af_iucv.c
++++ b/net/iucv/af_iucv.c
+@@ -2455,7 +2455,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);
+@@ -2463,11 +2463,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;
+@@ -2501,17 +2497,13 @@ static int __init afiucv_init(void)
+ 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);
+--
+2.43.0
+