--- /dev/null
+From 51d4b0a44c82e5eff056ef76acd2c3c605a8eb74 Mon Sep 17 00:00:00 2001
+From: Johan Hovold <johan@kernel.org>
+Date: Thu, 24 Jul 2025 11:19:10 +0200
+Subject: usb: musb: omap2430: clean up probe error handling
+
+From: Johan Hovold <johan@kernel.org>
+
+commit 51d4b0a44c82e5eff056ef76acd2c3c605a8eb74 upstream.
+
+Using numbered error labels is discouraged (e.g. as it requires
+renumbering them when adding a new intermediate error path).
+
+Rename the error labels after what they do.
+
+While at it, drop the redundant platform allocation failure dev_err()
+as the error would already have been logged by the allocator.
+
+Signed-off-by: Johan Hovold <johan@kernel.org>
+Link: https://lore.kernel.org/r/20250724091910.21092-6-johan@kernel.org
+Stable-dep-of: c947360ae63e ("usb: musb: omap2430: Do not put borrowed of_node in probe")
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/usb/musb/omap2430.c | 23 ++++++++++-------------
+ 1 file changed, 10 insertions(+), 13 deletions(-)
+
+--- a/drivers/usb/musb/omap2430.c
++++ b/drivers/usb/musb/omap2430.c
+@@ -318,13 +318,11 @@ static int omap2430_probe(struct platfor
+
+ glue = devm_kzalloc(&pdev->dev, sizeof(*glue), GFP_KERNEL);
+ if (!glue)
+- goto err0;
++ return -ENOMEM;
+
+ musb = platform_device_alloc("musb-hdrc", PLATFORM_DEVID_AUTO);
+- if (!musb) {
+- dev_err(&pdev->dev, "failed to allocate musb device\n");
+- goto err0;
+- }
++ if (!musb)
++ return -ENOMEM;
+
+ musb->dev.parent = &pdev->dev;
+ musb->dev.dma_mask = &omap2430_dmamask;
+@@ -348,15 +346,15 @@ static int omap2430_probe(struct platfor
+
+ pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
+ if (!pdata)
+- goto err2;
++ goto err_put_musb;
+
+ data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
+ if (!data)
+- goto err2;
++ goto err_put_musb;
+
+ config = devm_kzalloc(&pdev->dev, sizeof(*config), GFP_KERNEL);
+ if (!config)
+- goto err2;
++ goto err_put_musb;
+
+ of_property_read_u32(np, "mode", (u32 *)&pdata->mode);
+ of_property_read_u32(np, "interface-type",
+@@ -379,7 +377,7 @@ static int omap2430_probe(struct platfor
+ if (!control_pdev) {
+ dev_err(&pdev->dev, "Failed to get control device\n");
+ ret = -EINVAL;
+- goto err2;
++ goto err_put_musb;
+ }
+ glue->control_otghs = &control_pdev->dev;
+ }
+@@ -455,22 +453,21 @@ static int omap2430_probe(struct platfor
+ ret = platform_device_add(musb);
+ if (ret) {
+ dev_err(&pdev->dev, "failed to register musb device\n");
+- goto err3;
++ goto err_disable_rpm;
+ }
+ of_node_put(np);
+
+ return 0;
+
+-err3:
++err_disable_rpm:
+ pm_runtime_disable(glue->dev);
+ err_put_control_otghs:
+ if (!IS_ERR(glue->control_otghs))
+ put_device(glue->control_otghs);
+-err2:
++err_put_musb:
+ of_node_put(np);
+ platform_device_put(musb);
+
+-err0:
+ return ret;
+ }
+
--- /dev/null
+From c947360ae63eee1c9eacc030dd6f5a53f717addf Mon Sep 17 00:00:00 2001
+From: Guangshuo Li <lgs201920130244@gmail.com>
+Date: Mon, 13 Jul 2026 19:47:11 +0800
+Subject: usb: musb: omap2430: Do not put borrowed of_node in probe
+
+From: Guangshuo Li <lgs201920130244@gmail.com>
+
+commit c947360ae63eee1c9eacc030dd6f5a53f717addf upstream.
+
+omap2430_probe() stores pdev->dev.of_node in a local np variable. This is
+a borrowed pointer and the probe function does not take a reference to
+it.
+
+The success and error paths nevertheless call of_node_put(np). This drops
+a reference that is owned by the platform device, and can leave
+pdev->dev.of_node with an unbalanced reference count.
+
+Do not put the borrowed platform device node from omap2430_probe().
+References taken for the child MUSB device are handled by the device core,
+and the ctrl-module phandle reference is still released separately.
+
+Fixes: ffbe2feac59b ("usb: musb: omap2430: Fix probe regression for missing resources")
+Cc: stable <stable@kernel.org>
+Reviewed-by: Johan Hovold <johan@kernel.org>
+Signed-off-by: Guangshuo Li <lgs201920130244@gmail.com>
+Link: https://patch.msgid.link/20260713114711.955253-1-lgs201920130244@gmail.com
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/usb/musb/omap2430.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+--- a/drivers/usb/musb/omap2430.c
++++ b/drivers/usb/musb/omap2430.c
+@@ -455,7 +455,6 @@ static int omap2430_probe(struct platfor
+ dev_err(&pdev->dev, "failed to register musb device\n");
+ goto err_disable_rpm;
+ }
+- of_node_put(np);
+
+ return 0;
+
+@@ -465,7 +464,6 @@ err_put_control_otghs:
+ if (!IS_ERR(glue->control_otghs))
+ put_device(glue->control_otghs);
+ err_put_musb:
+- of_node_put(np);
+ platform_device_put(musb);
+
+ return ret;