diff options
Diffstat (limited to 'net/tipc/core.c')
| -rw-r--r-- | net/tipc/core.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/net/tipc/core.c b/net/tipc/core.c index fc05cecd7481..7ec2c1eb94f1 100644 --- a/net/tipc/core.c +++ b/net/tipc/core.c | |||
| @@ -82,6 +82,7 @@ static void tipc_core_stop_net(void) | |||
| 82 | { | 82 | { |
| 83 | tipc_net_stop(); | 83 | tipc_net_stop(); |
| 84 | tipc_eth_media_stop(); | 84 | tipc_eth_media_stop(); |
| 85 | tipc_ib_media_stop(); | ||
| 85 | } | 86 | } |
| 86 | 87 | ||
| 87 | /** | 88 | /** |
| @@ -93,8 +94,15 @@ int tipc_core_start_net(unsigned long addr) | |||
| 93 | 94 | ||
| 94 | tipc_net_start(addr); | 95 | tipc_net_start(addr); |
| 95 | res = tipc_eth_media_start(); | 96 | res = tipc_eth_media_start(); |
| 96 | if (res) | 97 | if (res < 0) |
| 97 | tipc_core_stop_net(); | 98 | goto err; |
| 99 | res = tipc_ib_media_start(); | ||
| 100 | if (res < 0) | ||
| 101 | goto err; | ||
| 102 | return res; | ||
| 103 | |||
| 104 | err: | ||
| 105 | tipc_core_stop_net(); | ||
| 98 | return res; | 106 | return res; |
| 99 | } | 107 | } |
| 100 | 108 | ||
