drivers/phy/ti/phy-omap-usb2.c | 1 + 1 file changed, 1 insertion(+)
In omap_usb2_probe(), of_parse_phandle() returns a device node with its
reference count incremented. The caller is responsible for releasing this
reference when the node is no longer needed.
Add of_node_put(control_node) after usage to fix the
reference leak.
Found via static analysis.
Fixes: 478b6c7436c2 ("usb: phy: omap-usb2: Don't use omap_get_control_dev()")
Cc: stable@vger.kernel.org
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
---
drivers/phy/ti/phy-omap-usb2.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/phy/ti/phy-omap-usb2.c b/drivers/phy/ti/phy-omap-usb2.c
index 1eb252604441..660df3181e4f 100644
--- a/drivers/phy/ti/phy-omap-usb2.c
+++ b/drivers/phy/ti/phy-omap-usb2.c
@@ -426,6 +426,7 @@ static int omap_usb2_probe(struct platform_device *pdev)
}
control_pdev = of_find_device_by_node(control_node);
+ of_node_put(control_node);
if (!control_pdev) {
dev_err(&pdev->dev, "Failed to get control device\n");
return -EINVAL;
--
2.39.5 (Apple Git-154)
On Tue, Oct 28, 2025 at 02:25:06PM +0800, Miaoqian Lin wrote:
> In omap_usb2_probe(), of_parse_phandle() returns a device node with its
> reference count incremented. The caller is responsible for releasing this
> reference when the node is no longer needed.
>
> Add of_node_put(control_node) after usage to fix the
> reference leak.
>
> Found via static analysis.
>
> Fixes: 478b6c7436c2 ("usb: phy: omap-usb2: Don't use omap_get_control_dev()")
> Cc: stable@vger.kernel.org
There should not be any need to backport this one.
> Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Other than that, looks good:
Reviewed-by: Johan Hovold <johan@kernel.org>
Johan
© 2016 - 2026 Red Hat, Inc.