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: Selvin Xavier <selvin.xavier@emulex.com> Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:
parent
7a1e89d8b7
commit
2d8f57d56f
1 changed files with 14 additions and 2 deletions
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue