]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: thunder_bgx: add a missing of_node_put
authorRosen Penev <rosenp@gmail.com>
Mon, 1 Sep 2025 21:30:18 +0000 (14:30 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 9 Sep 2025 16:58:13 +0000 (18:58 +0200)
[ Upstream commit 9d28f94912589f04ab51fbccaef287d4f40e0d1f ]

phy_np needs to get freed, just like the other child nodes.

Fixes: 5fc7cf179449 ("net: thunderx: Cleanup PHY probing code.")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250901213018.47392-1-rosenp@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/cavium/thunder/thunder_bgx.c

index aa80c370223237578a37ae29cb9edf8ce754cc17..5afc0735b582733ba9b42ae87794687da8277c39 100644 (file)
@@ -1493,13 +1493,17 @@ static int bgx_init_of_phy(struct bgx *bgx)
                 * this cortina phy, for which there is no driver
                 * support, ignore it.
                 */
-               if (phy_np &&
-                   !of_device_is_compatible(phy_np, "cortina,cs4223-slice")) {
-                       /* Wait until the phy drivers are available */
-                       pd = of_phy_find_device(phy_np);
-                       if (!pd)
-                               goto defer;
-                       bgx->lmac[lmac].phydev = pd;
+               if (phy_np) {
+                       if (!of_device_is_compatible(phy_np, "cortina,cs4223-slice")) {
+                               /* Wait until the phy drivers are available */
+                               pd = of_phy_find_device(phy_np);
+                               if (!pd) {
+                                       of_node_put(phy_np);
+                                       goto defer;
+                               }
+                               bgx->lmac[lmac].phydev = pd;
+                       }
+                       of_node_put(phy_np);
                }
 
                lmac++;