From: Martin Blumenstingl <martin.blumensti...@googlemail.com> [ Upstream commit be8c1001a7e681e8813882a42ed51c8dbffd8800 ]
Disable and unprepare the clocks when devm_reset_control_get_shared() fails. This fixes the error path as this must disable the clocks which were previously enabled. Fixes: 1e355f21d3fb96 ("usb: dwc3: Add Amlogic A1 DWC3 glue") Cc: Yue Wang <yue.w...@amlogic.com> Cc: Hanjie Lin <hanjie....@amlogic.com> Acked-by: Neil Armstrong <narmstr...@baylibre.com> Signed-off-by: Martin Blumenstingl <martin.blumensti...@googlemail.com> Link: https://lore.kernel.org/r/20200526202943.715220-2-martin.blumensti...@googlemail.com Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org> Signed-off-by: Sasha Levin <sas...@kernel.org> --- drivers/usb/dwc3/dwc3-meson-g12a.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/dwc3/dwc3-meson-g12a.c b/drivers/usb/dwc3/dwc3-meson-g12a.c index 2d257bdfe8485..eabb3bb6fcaa1 100644 --- a/drivers/usb/dwc3/dwc3-meson-g12a.c +++ b/drivers/usb/dwc3/dwc3-meson-g12a.c @@ -505,7 +505,7 @@ static int dwc3_meson_g12a_probe(struct platform_device *pdev) if (IS_ERR(priv->reset)) { ret = PTR_ERR(priv->reset); dev_err(dev, "failed to get device reset, err=%d\n", ret); - return ret; + goto err_disable_clks; } ret = reset_control_reset(priv->reset); -- 2.25.1