Driver failed to release resources on failed probe so far, leading to deferred probe failing with -EBUSY. Fix this. Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> --- drivers/phy/phy-stm32-usbphyc.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/phy/phy-stm32-usbphyc.c b/drivers/phy/phy-stm32-usbphyc.c index 093842fe1460..d9eaa8a7544a 100644 --- a/drivers/phy/phy-stm32-usbphyc.c +++ b/drivers/phy/phy-stm32-usbphyc.c @@ -328,13 +328,13 @@ static int stm32_usbphyc_probe(struct device_d *dev) if (IS_ERR(usbphyc->clk)) { ret = PTR_ERR(usbphyc->clk); dev_err(dev, "clk get failed: %d\n", ret); - return ret; + goto release_region; } ret = clk_enable(usbphyc->clk); if (ret) { dev_err(dev, "clk enable failed: %d\n", ret); - return ret; + goto release_region; } device_reset_us(dev, 2); @@ -405,6 +405,11 @@ static int stm32_usbphyc_probe(struct device_d *dev) clk_disable: clk_disable(usbphyc->clk); +release_region: + release_region(iores); + + free(usbphyc->phys); + free(usbphyc); return ret; } -- 2.27.0 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox