diff options
Diffstat (limited to 'net/tipc/core.c')
-rw-r--r-- | net/tipc/core.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/net/tipc/core.c b/net/tipc/core.c index f9e88d8b04ca..fd4eeeaa972a 100644 --- a/net/tipc/core.c +++ b/net/tipc/core.c @@ -82,7 +82,8 @@ struct sk_buff *tipc_buf_acquire(u32 size) static void tipc_core_stop_net(void) { tipc_net_stop(); - tipc_bearer_cleanup(); + tipc_eth_media_stop(); + tipc_ib_media_stop(); } /** @@ -93,7 +94,10 @@ int tipc_core_start_net(unsigned long addr) int res; tipc_net_start(addr); - res = tipc_bearer_setup(); + res = tipc_eth_media_start(); + if (res < 0) + goto err; + res = tipc_ib_media_start(); if (res < 0) goto err; return res; @@ -109,6 +113,7 @@ err: static void tipc_core_stop(void) { tipc_netlink_stop(); + tipc_handler_stop(); tipc_cfg_stop(); tipc_subscr_stop(); tipc_nametbl_stop(); @@ -141,10 +146,9 @@ static int tipc_core_start(void) res = tipc_subscr_start(); if (!res) res = tipc_cfg_init(); - if (res) { - tipc_handler_stop(); + if (res) tipc_core_stop(); - } + return res; } @@ -174,7 +178,6 @@ static int __init tipc_init(void) static void __exit tipc_exit(void) { - tipc_handler_stop(); tipc_core_stop_net(); tipc_core_stop(); pr_info("Deactivated\n"); |