> --- a/net/tipc/core.c
> +++ b/net/tipc/core.c
> @@ -82,6 +82,7 @@ static void tipc_core_stop_net(void)
>  {
>       tipc_net_stop();
>       tipc_eth_media_stop();
> +     tipc_ib_media_stop();
>  }
>  
>  /**
> @@ -93,8 +94,17 @@ int tipc_core_start_net(unsigned long addr)
>  
>       tipc_net_start(addr);
>       res = tipc_eth_media_start();
> -     if (res)
> -             tipc_core_stop_net();
> +     if (res < 0)
> +             goto err1;
> +     res = tipc_ib_media_start();
> +     if (res < 0)
> +             goto err2;
> +     return res;
> +
> +err2:
> +     tipc_eth_media_stop();

Why do we need to call tipc_eth_media_stop() separately?
In any failed case, we will finally invoke tipc_core_stop_net() which
already places tipc_eth_media_stop().

> +err1:
> +     tipc_core_stop_net();
>       return res;
>  }
>  

Regards,
Ying
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to