[PATCH v2 1/5] usb: dwc2: cleanup on error for deferred probing
Michael Grzeschik
m.grzeschik at pengutronix.de
Thu Dec 17 06:07:27 EST 2020
The driver needs to cleanup the resources if an error occurred. Otherwise,
on deferred probing, it will fail to take the resources for a second time.
Signed-off-by: Michael Grzeschik <m.grzeschik at pengutronix.de>
---
v1 -> v2: fixed missing change of release_region tag for phy_init error
drivers/usb/dwc2/dwc2.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/usb/dwc2/dwc2.c b/drivers/usb/dwc2/dwc2.c
index bd33334a83..82b5ef2813 100644
--- a/drivers/usb/dwc2/dwc2.c
+++ b/drivers/usb/dwc2/dwc2.c
@@ -53,12 +53,12 @@ static int dwc2_probe(struct device_d *dev)
dwc2->phy = phy_optional_get(dev, "usb2-phy");
if (IS_ERR(dwc2->phy)) {
ret = PTR_ERR(dwc2->phy);
- return ret;
+ goto release_region;
}
ret = phy_init(dwc2->phy);
if (ret)
- goto err_phy_init;
+ goto release_region;
ret = phy_power_on(dwc2->phy);
if (ret)
goto err_phy_power;
@@ -100,7 +100,8 @@ error:
phy_power_off(dwc2->phy);
err_phy_power:
phy_exit(dwc2->phy);
-err_phy_init:
+release_region:
+ release_region(iores);
return ret;
}
--
2.29.2
More information about the barebox
mailing list