2023-01-12 16:31:41

by Clément Léger

[permalink] [raw]
Subject: [PATCH net] net: lan966x: add missing fwnode_handle_put() for ports node

Since the "ethernet-ports" node is retrieved using
device_get_named_child_node(), it should be release after using it. Add
missing fwnode_handle_put() and move the code that retrieved the node
from device-tree to avoid complicated handling in case of error.

Signed-off-by: Clément Léger <[email protected]>
---
.../net/ethernet/microchip/lan966x/lan966x_main.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
index cadde20505ba..580c91d24a52 100644
--- a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
+++ b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
@@ -1043,11 +1043,6 @@ static int lan966x_probe(struct platform_device *pdev)
lan966x->base_mac[5] &= 0xf0;
}

- ports = device_get_named_child_node(&pdev->dev, "ethernet-ports");
- if (!ports)
- return dev_err_probe(&pdev->dev, -ENODEV,
- "no ethernet-ports child found\n");
-
err = lan966x_create_targets(pdev, lan966x);
if (err)
return dev_err_probe(&pdev->dev, err,
@@ -1125,6 +1120,11 @@ static int lan966x_probe(struct platform_device *pdev)
}
}

+ ports = device_get_named_child_node(&pdev->dev, "ethernet-ports");
+ if (!ports)
+ return dev_err_probe(&pdev->dev, -ENODEV,
+ "no ethernet-ports child found\n");
+
/* init switch */
lan966x_init(lan966x);
lan966x_stats_init(lan966x);
@@ -1162,6 +1162,8 @@ static int lan966x_probe(struct platform_device *pdev)
goto cleanup_ports;
}

+ fwnode_handle_put(ports);
+
lan966x_mdb_init(lan966x);
err = lan966x_fdb_init(lan966x);
if (err)
@@ -1191,6 +1193,7 @@ static int lan966x_probe(struct platform_device *pdev)
lan966x_fdb_deinit(lan966x);

cleanup_ports:
+ fwnode_handle_put(ports);
fwnode_handle_put(portnp);

lan966x_cleanup_ports(lan966x);
--
2.39.0


2023-01-13 22:58:47

by Alexander Duyck

[permalink] [raw]
Subject: Re: [PATCH net] net: lan966x: add missing fwnode_handle_put() for ports node

On Thu, 2023-01-12 at 17:13 +0100, Clément Léger wrote:
> Since the "ethernet-ports" node is retrieved using
> device_get_named_child_node(), it should be release after using it. Add
> missing fwnode_handle_put() and move the code that retrieved the node
> from device-tree to avoid complicated handling in case of error.
>
> Signed-off-by: Clément Léger <[email protected]>


You should probably add a fixes tag to this:
Fixes: db8bcaad5393 ("net: lan966x: add the basic lan966x driver")

Other than that the patch itself looks good to me.

Reviewed-by: Alexander Duyck <[email protected]>

2023-01-14 06:12:19

by patchwork-bot+netdevbpf

[permalink] [raw]
Subject: Re: [PATCH net] net: lan966x: add missing fwnode_handle_put() for ports node

Hello:

This patch was applied to netdev/net.git (master)
by Jakub Kicinski <[email protected]>:

On Thu, 12 Jan 2023 17:13:11 +0100 you wrote:
> Since the "ethernet-ports" node is retrieved using
> device_get_named_child_node(), it should be release after using it. Add
> missing fwnode_handle_put() and move the code that retrieved the node
> from device-tree to avoid complicated handling in case of error.
>
> Signed-off-by: Clément Léger <[email protected]>
>
> [...]

Here is the summary with links:
- [net] net: lan966x: add missing fwnode_handle_put() for ports node
https://git.kernel.org/netdev/net/c/925f3deb45df

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html