diff mbox series

[2/9] net: bcmasp: Add missing of_node_get() before of_find_node_by_name()

Message ID 20250207013117.104205-3-zhangzekun11@huawei.com (mailing list archive)
State New
Headers show
Series Add wrapper function of_find_node_by_name_balanced() | expand

Commit Message

zhangzekun (A) Feb. 7, 2025, 1:31 a.m. UTC
of_find_node_by_name() will decrease the refcount of the device_node.
So, get the device_node before passing to it.

Fixes: 490cb412007d ("net: bcmasp: Add support for ASP2.0 Ethernet controller")
Signed-off-by: Zhang Zekun <zhangzekun11@huawei.com>
---
 drivers/net/ethernet/broadcom/asp2/bcmasp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Krzysztof Kozlowski Feb. 12, 2025, 5:52 a.m. UTC | #1
On 07/02/2025 02:31, Zhang Zekun wrote:
> of_find_node_by_name() will decrease the refcount of the device_node.
> So, get the device_node before passing to it.
> 
> Fixes: 490cb412007d ("net: bcmasp: Add support for ASP2.0 Ethernet controller")
> Signed-off-by: Zhang Zekun <zhangzekun11@huawei.com>
> ---
>  drivers/net/ethernet/broadcom/asp2/bcmasp.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/broadcom/asp2/bcmasp.c b/drivers/net/ethernet/broadcom/asp2/bcmasp.c
> index a68fab1b05f0..093c8ea72af9 100644
> --- a/drivers/net/ethernet/broadcom/asp2/bcmasp.c
> +++ b/drivers/net/ethernet/broadcom/asp2/bcmasp.c
> @@ -1367,7 +1367,7 @@ static int bcmasp_probe(struct platform_device *pdev)
>  	bcmasp_core_init(priv);
>  	bcmasp_core_init_filters(priv);
>  
> -	ports_node = of_find_node_by_name(dev->of_node, "ethernet-ports");
> +	ports_node = of_find_node_by_name_balanced(dev->of_node, "ethernet-ports");

Why this cannot be of_get_child_by_name()?

Best regards,
Krzysztof
zhangzekun (A) Feb. 12, 2025, 6:50 a.m. UTC | #2
在 2025/2/12 13:52, Krzysztof Kozlowski 写道:
> On 07/02/2025 02:31, Zhang Zekun wrote:
>> of_find_node_by_name() will decrease the refcount of the device_node.
>> So, get the device_node before passing to it.
>>
>> Fixes: 490cb412007d ("net: bcmasp: Add support for ASP2.0 Ethernet controller")
>> Signed-off-by: Zhang Zekun <zhangzekun11@huawei.com>
>> ---
>>   drivers/net/ethernet/broadcom/asp2/bcmasp.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/ethernet/broadcom/asp2/bcmasp.c b/drivers/net/ethernet/broadcom/asp2/bcmasp.c
>> index a68fab1b05f0..093c8ea72af9 100644
>> --- a/drivers/net/ethernet/broadcom/asp2/bcmasp.c
>> +++ b/drivers/net/ethernet/broadcom/asp2/bcmasp.c
>> @@ -1367,7 +1367,7 @@ static int bcmasp_probe(struct platform_device *pdev)
>>   	bcmasp_core_init(priv);
>>   	bcmasp_core_init_filters(priv);
>>   
>> -	ports_node = of_find_node_by_name(dev->of_node, "ethernet-ports");
>> +	ports_node = of_find_node_by_name_balanced(dev->of_node, "ethernet-ports");
> 
> Why this cannot be of_get_child_by_name()?
> 
> Best regards,
> Krzysztof

Thanks for point out. After looking into 
Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml, it should be 
of_get_child_by_name().

Best regards,
Zekun
diff mbox series

Patch

diff --git a/drivers/net/ethernet/broadcom/asp2/bcmasp.c b/drivers/net/ethernet/broadcom/asp2/bcmasp.c
index a68fab1b05f0..093c8ea72af9 100644
--- a/drivers/net/ethernet/broadcom/asp2/bcmasp.c
+++ b/drivers/net/ethernet/broadcom/asp2/bcmasp.c
@@ -1367,7 +1367,7 @@  static int bcmasp_probe(struct platform_device *pdev)
 	bcmasp_core_init(priv);
 	bcmasp_core_init_filters(priv);
 
-	ports_node = of_find_node_by_name(dev->of_node, "ethernet-ports");
+	ports_node = of_find_node_by_name_balanced(dev->of_node, "ethernet-ports");
 	if (!ports_node) {
 		dev_warn(dev, "No ports found\n");
 		return -EINVAL;