Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2d8f57d5 authored by Selvin Xavier's avatar Selvin Xavier Committed by Roland Dreier
Browse files

RDMA/ocrdma: Unregister inet notifier when unloading ocrdma



Unregister the inet notifier during ocrdma unload to avoid a panic after
driver unload.

Signed-off-by: default avatarSelvin Xavier <selvin.xavier@emulex.com>
Signed-off-by: default avatarDevesh Sharma <devesh.sharma@emulex.com>
Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
parent 7a1e89d8
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -539,6 +539,11 @@ static void ocrdma_unregister_inet6addr_notifier(void)
#endif
}

static void ocrdma_unregister_inetaddr_notifier(void)
{
	unregister_inetaddr_notifier(&ocrdma_inetaddr_notifier);
}

static int __init ocrdma_init_module(void)
{
	int status;
@@ -552,13 +557,19 @@ static int __init ocrdma_init_module(void)
#if IS_ENABLED(CONFIG_IPV6)
	status = register_inet6addr_notifier(&ocrdma_inet6addr_notifier);
	if (status)
		return status;
		goto err_notifier6;
#endif

	status = be_roce_register_driver(&ocrdma_drv);
	if (status)
		ocrdma_unregister_inet6addr_notifier();
		goto err_be_reg;

	return 0;

err_be_reg:
	ocrdma_unregister_inet6addr_notifier();
err_notifier6:
	ocrdma_unregister_inetaddr_notifier();
	return status;
}

@@ -566,6 +577,7 @@ static void __exit ocrdma_exit_module(void)
{
	be_roce_unregister_driver(&ocrdma_drv);
	ocrdma_unregister_inet6addr_notifier();
	ocrdma_unregister_inetaddr_notifier();
	ocrdma_rem_debugfs();
}