|
@@ -638,19 +638,19 @@ static int rds_tcp_init(void)
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
- ret = register_netdevice_notifier(&rds_tcp_dev_notifier);
|
|
|
- if (ret) {
|
|
|
- pr_warn("could not register rds_tcp_dev_notifier\n");
|
|
|
+ ret = rds_tcp_recv_init();
|
|
|
+ if (ret)
|
|
|
goto out_slab;
|
|
|
- }
|
|
|
|
|
|
ret = register_pernet_subsys(&rds_tcp_net_ops);
|
|
|
if (ret)
|
|
|
- goto out_notifier;
|
|
|
+ goto out_recv;
|
|
|
|
|
|
- ret = rds_tcp_recv_init();
|
|
|
- if (ret)
|
|
|
+ ret = register_netdevice_notifier(&rds_tcp_dev_notifier);
|
|
|
+ if (ret) {
|
|
|
+ pr_warn("could not register rds_tcp_dev_notifier\n");
|
|
|
goto out_pernet;
|
|
|
+ }
|
|
|
|
|
|
rds_trans_register(&rds_tcp_transport);
|
|
|
|
|
@@ -660,9 +660,8 @@ static int rds_tcp_init(void)
|
|
|
|
|
|
out_pernet:
|
|
|
unregister_pernet_subsys(&rds_tcp_net_ops);
|
|
|
-out_notifier:
|
|
|
- if (unregister_netdevice_notifier(&rds_tcp_dev_notifier))
|
|
|
- pr_warn("could not unregister rds_tcp_dev_notifier\n");
|
|
|
+out_recv:
|
|
|
+ rds_tcp_recv_exit();
|
|
|
out_slab:
|
|
|
kmem_cache_destroy(rds_tcp_conn_slab);
|
|
|
out:
|