aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/gadget/s3c-hsotg.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/usb/gadget/s3c-hsotg.c b/drivers/usb/gadget/s3c-hsotg.c
index 1cac0be86f68..5061a2fe9620 100644
--- a/drivers/usb/gadget/s3c-hsotg.c
+++ b/drivers/usb/gadget/s3c-hsotg.c
@@ -3558,7 +3558,7 @@ static int __devinit s3c_hsotg_probe(struct platform_device *pdev)
3558 hsotg->supplies); 3558 hsotg->supplies);
3559 if (ret) { 3559 if (ret) {
3560 dev_err(dev, "failed to request supplies: %d\n", ret); 3560 dev_err(dev, "failed to request supplies: %d\n", ret);
3561 goto err_supplies; 3561 goto err_irq;
3562 } 3562 }
3563 3563
3564 ret = regulator_bulk_enable(ARRAY_SIZE(hsotg->supplies), 3564 ret = regulator_bulk_enable(ARRAY_SIZE(hsotg->supplies),
@@ -3637,17 +3637,13 @@ static int __devinit s3c_hsotg_probe(struct platform_device *pdev)
3637 3637
3638 return 0; 3638 return 0;
3639 3639
3640 err_ep_mem: 3640err_ep_mem:
3641 kfree(eps); 3641 kfree(eps);
3642
3643err_supplies: 3642err_supplies:
3644 s3c_hsotg_phy_disable(hsotg); 3643 s3c_hsotg_phy_disable(hsotg);
3645
3646 regulator_bulk_free(ARRAY_SIZE(hsotg->supplies), hsotg->supplies); 3644 regulator_bulk_free(ARRAY_SIZE(hsotg->supplies), hsotg->supplies);
3647 3645err_irq:
3648 clk_disable_unprepare(hsotg->clk); 3646 free_irq(hsotg->irq, hsotg);
3649 clk_put(hsotg->clk);
3650
3651err_regs: 3647err_regs:
3652 iounmap(hsotg->regs); 3648 iounmap(hsotg->regs);
3653 3649
@@ -3655,6 +3651,7 @@ err_regs_res:
3655 release_resource(hsotg->regs_res); 3651 release_resource(hsotg->regs_res);
3656 kfree(hsotg->regs_res); 3652 kfree(hsotg->regs_res);
3657err_clk: 3653err_clk:
3654 clk_disable_unprepare(hsotg->clk);
3658 clk_put(hsotg->clk); 3655 clk_put(hsotg->clk);
3659err_mem: 3656err_mem:
3660 kfree(hsotg); 3657 kfree(hsotg);