diff options
-rw-r--r-- | drivers/infiniband/hw/ocrdma/ocrdma_main.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_main.c b/drivers/infiniband/hw/ocrdma/ocrdma_main.c index 8bd9db689b2f..7c504e079744 100644 --- a/drivers/infiniband/hw/ocrdma/ocrdma_main.c +++ b/drivers/infiniband/hw/ocrdma/ocrdma_main.c | |||
@@ -539,6 +539,11 @@ static void ocrdma_unregister_inet6addr_notifier(void) | |||
539 | #endif | 539 | #endif |
540 | } | 540 | } |
541 | 541 | ||
542 | static void ocrdma_unregister_inetaddr_notifier(void) | ||
543 | { | ||
544 | unregister_inetaddr_notifier(&ocrdma_inetaddr_notifier); | ||
545 | } | ||
546 | |||
542 | static int __init ocrdma_init_module(void) | 547 | static int __init ocrdma_init_module(void) |
543 | { | 548 | { |
544 | int status; | 549 | int status; |
@@ -552,13 +557,19 @@ static int __init ocrdma_init_module(void) | |||
552 | #if IS_ENABLED(CONFIG_IPV6) | 557 | #if IS_ENABLED(CONFIG_IPV6) |
553 | status = register_inet6addr_notifier(&ocrdma_inet6addr_notifier); | 558 | status = register_inet6addr_notifier(&ocrdma_inet6addr_notifier); |
554 | if (status) | 559 | if (status) |
555 | return status; | 560 | goto err_notifier6; |
556 | #endif | 561 | #endif |
557 | 562 | ||
558 | status = be_roce_register_driver(&ocrdma_drv); | 563 | status = be_roce_register_driver(&ocrdma_drv); |
559 | if (status) | 564 | if (status) |
560 | ocrdma_unregister_inet6addr_notifier(); | 565 | goto err_be_reg; |
561 | 566 | ||
567 | return 0; | ||
568 | |||
569 | err_be_reg: | ||
570 | ocrdma_unregister_inet6addr_notifier(); | ||
571 | err_notifier6: | ||
572 | ocrdma_unregister_inetaddr_notifier(); | ||
562 | return status; | 573 | return status; |
563 | } | 574 | } |
564 | 575 | ||
@@ -566,6 +577,7 @@ static void __exit ocrdma_exit_module(void) | |||
566 | { | 577 | { |
567 | be_roce_unregister_driver(&ocrdma_drv); | 578 | be_roce_unregister_driver(&ocrdma_drv); |
568 | ocrdma_unregister_inet6addr_notifier(); | 579 | ocrdma_unregister_inet6addr_notifier(); |
580 | ocrdma_unregister_inetaddr_notifier(); | ||
569 | ocrdma_rem_debugfs(); | 581 | ocrdma_rem_debugfs(); |
570 | } | 582 | } |
571 | 583 | ||