aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/net/sunrpc/xprtrdma/module.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2024-08-02 14:10:55 +0200
committerThomas Gleixner <tglx@linutronix.de>2024-08-02 14:10:55 +0200
commit4436e6da008fee87d54c038e983e5be9a6baf8fb (patch)
tree265a15efcf6f17e0e32e258d66b274fc5cad41d4 /net/sunrpc/xprtrdma/module.c
parentx86/mm: Cleanup prctl_enable_tagged_addr() nr_bits error checking (diff)
parentLinux 6.11-rc1 (diff)
downloadwireguard-linux-4436e6da008fee87d54c038e983e5be9a6baf8fb.tar.xz
wireguard-linux-4436e6da008fee87d54c038e983e5be9a6baf8fb.zip
Merge branch 'linus' into x86/mm
Bring x86 and selftests up to date
Diffstat (limited to 'net/sunrpc/xprtrdma/module.c')
-rw-r--r--net/sunrpc/xprtrdma/module.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/net/sunrpc/xprtrdma/module.c b/net/sunrpc/xprtrdma/module.c
index 45c5b41ac8dc..697f571d4c01 100644
--- a/net/sunrpc/xprtrdma/module.c
+++ b/net/sunrpc/xprtrdma/module.c
@@ -11,6 +11,7 @@
#include <linux/module.h>
#include <linux/init.h>
#include <linux/sunrpc/svc_rdma.h>
+#include <linux/sunrpc/rdma_rn.h>
#include <asm/swab.h>
@@ -30,21 +31,32 @@ static void __exit rpc_rdma_cleanup(void)
{
xprt_rdma_cleanup();
svc_rdma_cleanup();
+ rpcrdma_ib_client_unregister();
}
static int __init rpc_rdma_init(void)
{
int rc;
+ rc = rpcrdma_ib_client_register();
+ if (rc)
+ goto out_rc;
+
rc = svc_rdma_init();
if (rc)
- goto out;
+ goto out_ib_client;
rc = xprt_rdma_init();
if (rc)
- svc_rdma_cleanup();
+ goto out_svc_rdma;
-out:
+ return 0;
+
+out_svc_rdma:
+ svc_rdma_cleanup();
+out_ib_client:
+ rpcrdma_ib_client_unregister();
+out_rc:
return rc;
}