Message ID | 20240816075409.23080-1-krzysztof.kozlowski@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | [v2,1/2] usb: dwc3: omap: add missing depopulate in probe error path | expand |
On Fri, Aug 16, 2024, Krzysztof Kozlowski wrote: > Depopulate device in probe error paths to fix leak of children > resources. > > Fixes: 53b5ff83d893 ("usb: dwc3: xilinx: improve error handling for PM APIs") > Cc: stable@vger.kernel.org > Reviewed-by: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com> > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > > --- > > Changes in v2: > 1. Add goto also on pm_runtime_resume_and_get() failure (Thinh) > 2. Add Rb tag. > --- > drivers/usb/dwc3/dwc3-xilinx.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/usb/dwc3/dwc3-xilinx.c b/drivers/usb/dwc3/dwc3-xilinx.c > index bb4d894c16e9..f1298b1b4f84 100644 > --- a/drivers/usb/dwc3/dwc3-xilinx.c > +++ b/drivers/usb/dwc3/dwc3-xilinx.c > @@ -327,9 +327,14 @@ static int dwc3_xlnx_probe(struct platform_device *pdev) > goto err_pm_set_suspended; > > pm_suspend_ignore_children(dev, false); > - return pm_runtime_resume_and_get(dev); > + ret = pm_runtime_resume_and_get(dev); > + if (ret < 0) > + goto err_pm_set_suspended; > + > + return 0; > > err_pm_set_suspended: > + of_platform_depopulate(dev); > pm_runtime_set_suspended(dev); > > err_clk_put: > -- > 2.43.0 > Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com> Thanks, Thinh
diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c index d5c77db4daa9..2a11fc0ee84f 100644 --- a/drivers/usb/dwc3/dwc3-omap.c +++ b/drivers/usb/dwc3/dwc3-omap.c @@ -522,11 +522,13 @@ static int dwc3_omap_probe(struct platform_device *pdev) if (ret) { dev_err(dev, "failed to request IRQ #%d --> %d\n", omap->irq, ret); - goto err1; + goto err2; } dwc3_omap_enable_irqs(omap); return 0; +err2: + of_platform_depopulate(dev); err1: pm_runtime_put_sync(dev); pm_runtime_disable(dev);