Browse Source

ARM: sa1111: fix missing clk_disable()

SA1111 forgets to call clk_disable() in the probe error cleanup path.
Add the necessary call.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Russell King 9 years ago
parent
commit
87d5dd62c0
1 changed files with 3 additions and 1 deletions
  1. 3 1
      arch/arm/common/sa1111.c

+ 3 - 1
arch/arm/common/sa1111.c

@@ -754,7 +754,7 @@ static int __sa1111_probe(struct device *me, struct resource *mem, int irq)
 	if (sachip->irq != NO_IRQ) {
 	if (sachip->irq != NO_IRQ) {
 		ret = sa1111_setup_irq(sachip, pd->irq_base);
 		ret = sa1111_setup_irq(sachip, pd->irq_base);
 		if (ret)
 		if (ret)
-			goto err_unmap;
+			goto err_clk;
 	}
 	}
 
 
 #ifdef CONFIG_ARCH_SA1100
 #ifdef CONFIG_ARCH_SA1100
@@ -799,6 +799,8 @@ static int __sa1111_probe(struct device *me, struct resource *mem, int irq)
 
 
 	return 0;
 	return 0;
 
 
+ err_clk:
+	clk_disable(sachip->clk);
  err_unmap:
  err_unmap:
 	iounmap(sachip->base);
 	iounmap(sachip->base);
  err_clk_unprep:
  err_clk_unprep: