Re: [PATCH net] net: dsa: bcm_sf2: Fix node reference count

From: Florian Fainelli
Date: Thu Jun 18 2020 - 12:19:15 EST




On 6/18/2020 5:56 AM, Andrew Lunn wrote:
> On Wed, Jun 17, 2020 at 08:42:44PM -0700, Florian Fainelli wrote:
>> of_find_node_by_name() will do an of_node_put() on the "from" argument.
>
>> Fixes: afa3b592953b ("net: dsa: bcm_sf2: Ensure correct sub-node is parsed")
>> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
>> ---
>> drivers/net/dsa/bcm_sf2.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/net/dsa/bcm_sf2.c b/drivers/net/dsa/bcm_sf2.c
>> index c1bd21e4b15c..9f62ba3e4345 100644
>> --- a/drivers/net/dsa/bcm_sf2.c
>> +++ b/drivers/net/dsa/bcm_sf2.c
>> @@ -1154,6 +1154,8 @@ static int bcm_sf2_sw_probe(struct platform_device *pdev)
>> set_bit(0, priv->cfp.used);
>> set_bit(0, priv->cfp.unique);
>>
>> + /* Balance of_node_put() done by of_find_node_by_name() */
>> + of_node_get(dn);
>> ports = of_find_node_by_name(dn, "ports");
>
> That if_find_node_by_name() does a put is not very intuitive.
> Maybe document that as well in the kerneldocs?

Yes that is the plan, most callers call it with a NULL from argument but
that is a bit silly if you know what the Device Tree looks like, you can
search quicker to the target node. Thanks.

>
> Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
>
> Andrew
>

--
Florian