]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
phy: ti: j721e-wiz: Fix device node reference leak in wiz_get_lane_phy_types()
authorFelix Gu <ustc.gu@gmail.com>
Thu, 12 Feb 2026 10:39:19 +0000 (18:39 +0800)
committerVinod Koul <vkoul@kernel.org>
Fri, 27 Feb 2026 15:13:29 +0000 (20:43 +0530)
The serdes device_node is obtained using of_get_child_by_name(),
which increments the reference count. However, it is never put,
leading to a reference leak.

Add the missing of_node_put() calls to ensure the reference count is
properly balanced.

Fixes: 7ae14cf581f2 ("phy: ti: j721e-wiz: Implement DisplayPort mode to the wiz driver")
Suggested-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: Felix Gu <ustc.gu@gmail.com>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Link: https://patch.msgid.link/20260212-wiz-v2-1-6e8bd4cc7a4a@gmail.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/ti/phy-j721e-wiz.c

index 6e9ecb88dc8b7842745486ae8ad57f82563d6711..6b584706b913af0bb8d1c94fade2b3b857d9ffc2 100644 (file)
@@ -1425,6 +1425,7 @@ static int wiz_get_lane_phy_types(struct device *dev, struct wiz *wiz)
                        dev_err(dev,
                                "%s: Reading \"reg\" from \"%s\" failed: %d\n",
                                __func__, subnode->name, ret);
+                       of_node_put(serdes);
                        return ret;
                }
                of_property_read_u32(subnode, "cdns,num-lanes", &num_lanes);
@@ -1439,6 +1440,7 @@ static int wiz_get_lane_phy_types(struct device *dev, struct wiz *wiz)
                }
        }
 
+       of_node_put(serdes);
        return 0;
 }