+++ /dev/null
-From sashal@kernel.org Thu Aug 21 18:20:28 2025
-From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 21 Aug 2025 12:20:24 -0400
-Subject: usb: musb: omap2430: Convert to platform remove callback returning void
-To: stable@vger.kernel.org
-Cc: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>, "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>, "Sasha Levin" <sashal@kernel.org>
-Message-ID: <20250821162025.780036-1-sashal@kernel.org>
-
-From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
-
-[ Upstream commit cb020bf52253327fe382e10bcae02a4f1da33c04 ]
-
-The .remove() callback for a platform driver returns an int which makes
-many driver authors wrongly assume it's possible to do error handling by
-returning an error code. However the value returned is (mostly) ignored
-and this typically results in resource leaks. To improve here there is a
-quest to make the remove callback return void. In the first step of this
-quest all drivers are converted to .remove_new() which already returns
-void.
-
-Trivially convert this driver from always returning zero in the remove
-callback to the void returning variant.
-
-Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
-Link: https://lore.kernel.org/r/20230405141009.3400693-8-u.kleine-koenig@pengutronix.de
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Stable-dep-of: 1473e9e7679b ("usb: musb: omap2430: fix device leak at unbind")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/usb/musb/omap2430.c | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
---- a/drivers/usb/musb/omap2430.c
-+++ b/drivers/usb/musb/omap2430.c
-@@ -505,14 +505,12 @@ err0:
- return ret;
- }
-
--static int omap2430_remove(struct platform_device *pdev)
-+static void omap2430_remove(struct platform_device *pdev)
- {
- struct omap2430_glue *glue = platform_get_drvdata(pdev);
-
- platform_device_unregister(glue->musb);
- pm_runtime_disable(glue->dev);
--
-- return 0;
- }
-
- #ifdef CONFIG_PM
-@@ -579,7 +577,7 @@ MODULE_DEVICE_TABLE(of, omap2430_id_tabl
-
- static struct platform_driver omap2430_driver = {
- .probe = omap2430_probe,
-- .remove = omap2430_remove,
-+ .remove_new = omap2430_remove,
- .driver = {
- .name = "musb-omap2430",
- .pm = DEV_PM_OPS,
-From sashal@kernel.org Thu Aug 21 18:20:28 2025
+From sashal@kernel.org Thu Aug 21 18:14:17 2025
From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 21 Aug 2025 12:20:25 -0400
+Date: Thu, 21 Aug 2025 12:14:13 -0400
Subject: usb: musb: omap2430: fix device leak at unbind
To: stable@vger.kernel.org
Cc: Johan Hovold <johan@kernel.org>, Roger Quadros <rogerq@kernel.org>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Sasha Levin <sashal@kernel.org>
-Message-ID: <20250821162025.780036-2-sashal@kernel.org>
+Message-ID: <20250821161413.775044-2-sashal@kernel.org>
From: Johan Hovold <johan@kernel.org>
err2:
platform_device_put(musb);
-@@ -511,6 +513,8 @@ static void omap2430_remove(struct platf
+@@ -511,6 +513,8 @@ static int omap2430_remove(struct platfo
platform_device_unregister(glue->musb);
pm_runtime_disable(glue->dev);
+ if (!IS_ERR(glue->control_otghs))
+ put_device(glue->control_otghs);
- }
- #ifdef CONFIG_PM
+ return 0;
+ }