|
@@ -708,17 +708,19 @@ static int sh_cmt_setup(struct sh_cmt_priv *p, struct platform_device *pdev)
|
|
cfg->clocksource_rating);
|
|
cfg->clocksource_rating);
|
|
if (ret) {
|
|
if (ret) {
|
|
dev_err(&p->pdev->dev, "registration failed\n");
|
|
dev_err(&p->pdev->dev, "registration failed\n");
|
|
- goto err1;
|
|
|
|
|
|
+ goto err2;
|
|
}
|
|
}
|
|
p->cs_enabled = false;
|
|
p->cs_enabled = false;
|
|
|
|
|
|
ret = setup_irq(irq, &p->irqaction);
|
|
ret = setup_irq(irq, &p->irqaction);
|
|
if (ret) {
|
|
if (ret) {
|
|
dev_err(&p->pdev->dev, "failed to request irq %d\n", irq);
|
|
dev_err(&p->pdev->dev, "failed to request irq %d\n", irq);
|
|
- goto err1;
|
|
|
|
|
|
+ goto err2;
|
|
}
|
|
}
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
|
|
+err2:
|
|
|
|
+ clk_put(p->clk);
|
|
|
|
|
|
err1:
|
|
err1:
|
|
iounmap(p->mapbase);
|
|
iounmap(p->mapbase);
|