From: Brian Norris Date: Wed, 17 Jan 2018 21:22:49 +0000 (-0800) Subject: usb: dwc3: Undo PHY init if soft reset fails X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=00b42170c86f90ac9dea83a7dfcd3f0c38098fe2;p=openwrt%2Fstaging%2Fblogic.git usb: dwc3: Undo PHY init if soft reset fails In this function, we init the USB2 and USB3 PHYs, but if soft reset times out, we don't unwind this. Noticed by inspection. Signed-off-by: Brian Norris Signed-off-by: Felipe Balbi --- diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index ade2ab00d37a..bc2467f0e6a7 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -234,6 +234,9 @@ static int dwc3_core_soft_reset(struct dwc3 *dwc) udelay(1); } while (--retries); + phy_exit(dwc->usb3_generic_phy); + phy_exit(dwc->usb2_generic_phy); + return -ETIMEDOUT; }