On Wed, Dec 07, 2016 at 05:56:06PM +0100, Volodymyr Bendiuga wrote:
> Since there can be multiple dsa switches stacked together but
> not all of devicetree nodes available at the time of calling
> dsa_dst_parse(), EPROBE_DEFER can be returned by it. When this
> happens, only the last dsa switch has to be deleted by
> dsa_dst_del_ds(), but not the whole list, because next time linux
> cames back to this function it will try to add only the last dsa
> switch which returned EPROBE_DEFER.
> 
> Signed-off-by: Volodymyr Bendiuga <volodymyr.bendi...@westermo.se>
> ---
>  net/dsa/dsa2.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c
> index 7924c92..0a5ddaa 100644
> --- a/net/dsa/dsa2.c
> +++ b/net/dsa/dsa2.c
> @@ -673,8 +673,14 @@ static int _dsa_register_switch(struct dsa_switch *ds, 
> struct device_node *np)
>       }
>  
>       err = dsa_dst_parse(dst);
> -     if (err)
> +     if (err){
> +             if (-EPROBE_DEFER == err) {

Hi Volodymyr

Please can you turn this around, err == -EPROBE_DEFER, to make it
consistent with all the other network code.

With that change

Reviewed-by: Andrew Lunn <and...@lunn.ch>

    Andrew

Reply via email to