summaryrefslogtreecommitdiff
path: root/net/tipc/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/tipc/core.c')
-rw-r--r--net/tipc/core.c15
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");