From: Sebastian Andrzej Siewior Date: Fri, 3 Jun 2011 17:50:47 +0000 (+0200) Subject: usb/s3c-hsudc: fix error path X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=6bc129532176fcafb4202b73b3f431986391a362;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git usb/s3c-hsudc: fix error path I doubt the clock is optional. In case it is it should not return with an error code because we leak everything. Cc: Jingoo Han Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/gadget/s3c-hsudc.c b/drivers/usb/gadget/s3c-hsudc.c index 9a1b966e18d..d5e3e1e5862 100644 --- a/drivers/usb/gadget/s3c-hsudc.c +++ b/drivers/usb/gadget/s3c-hsudc.c @@ -1302,7 +1302,8 @@ static int s3c_hsudc_probe(struct platform_device *pdev) hsudc->uclk = clk_get(&pdev->dev, "usb-device"); if (IS_ERR(hsudc->uclk)) { dev_err(dev, "failed to find usb-device clock source\n"); - return PTR_ERR(hsudc->uclk); + ret = PTR_ERR(hsudc->uclk); + goto err_clk; } clk_enable(hsudc->uclk); @@ -1311,7 +1312,8 @@ static int s3c_hsudc_probe(struct platform_device *pdev) disable_irq(hsudc->irq); local_irq_enable(); return 0; - +err_clk: + free_irq(hsudc->irq, hsudc); err_irq: iounmap(hsudc->regs);