Subject: Re: [PATCH v2 5/5] net: dsa: exit probe if no switch were found

From: Neil Armstrong <[email-masked]>
Date: Tue, 6 Oct 2015 08:20:32 +0100

On 10/03/2015 09:27 PM, Florian Fainelli wrote:
> Le 03/10/2015 07:26, Neil Armstrong a écrit :
>> If no switch were found in dsa_setup_dst, return -ENODEV and
>> exit the dsa_probe cleanly.
>>
>> Tested-by: Andrew Lunn <[email-masked]>
>> Tested-by: Florian Fainelli <[email-masked]>
>> Signed-off-by: Neil Armstrong <[email-masked]>
>> ---
> 
> [snip]
> 
>>  static int dsa_probe(struct platform_device *pdev)
>> @@ -926,9 +937,9 @@ static int dsa_probe(struct platform_device *pdev)
>>
>>  	platform_set_drvdata(pdev, dst);
>>
>> -	dsa_setup_dst(dst, dev, &pdev->dev, pd);
>> -
>> -	return 0;
>> +	ret = dsa_setup_dst(dst, dev, &pdev->dev, pd);
>> +	if (!ret)
>> +		return 0;
> 
> That logic is a little weird, I would just go with something like this:
> 
> ret = dsa_setup_dst(ds, dev, &pdev->dev, pd);
> if (ret)
> 	goto out;
> 
> return 0;
> 
Yes you are right, the goto out is needed to clean up the of_probe resources.

I will send a v3 with this fixed.

Neil