aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/crypto/mv_cesa.c4
-rw-r--r--drivers/mmc/host/mvsdio.c4
-rw-r--r--drivers/mtd/nand/orion_nand.c4
-rw-r--r--drivers/net/ethernet/marvell/mv643xx_eth.c6
-rw-r--r--drivers/usb/host/ehci-orion.c4
-rw-r--r--sound/soc/kirkwood/kirkwood-i2s.c8
6 files changed, 29 insertions, 1 deletions
diff --git a/drivers/crypto/mv_cesa.c b/drivers/crypto/mv_cesa.c
index 1cc6b3f3e26..a4faa893199 100644
--- a/drivers/crypto/mv_cesa.c
+++ b/drivers/crypto/mv_cesa.c
@@ -1098,6 +1098,10 @@ err_unreg_ecb:
1098 crypto_unregister_alg(&mv_aes_alg_ecb); 1098 crypto_unregister_alg(&mv_aes_alg_ecb);
1099err_irq: 1099err_irq:
1100 free_irq(irq, cp); 1100 free_irq(irq, cp);
1101 if (!IS_ERR(cp->clk)) {
1102 clk_disable_unprepare(cp->clk);
1103 clk_put(cp->clk);
1104 }
1101err_thread: 1105err_thread:
1102 kthread_stop(cp->queue_th); 1106 kthread_stop(cp->queue_th);
1103err_unmap_sram: 1107err_unmap_sram:
diff --git a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c
index 3b9136c1a47..a61cb5fca22 100644
--- a/drivers/mmc/host/mvsdio.c
+++ b/drivers/mmc/host/mvsdio.c
@@ -839,6 +839,10 @@ out:
839 if (r) 839 if (r)
840 release_resource(r); 840 release_resource(r);
841 if (mmc) 841 if (mmc)
842 if (!IS_ERR_OR_NULL(host->clk)) {
843 clk_disable_unprepare(host->clk);
844 clk_put(host->clk);
845 }
842 mmc_free_host(mmc); 846 mmc_free_host(mmc);
843 847
844 return ret; 848 return ret;
diff --git a/drivers/mtd/nand/orion_nand.c b/drivers/mtd/nand/orion_nand.c
index 513dc88a05c..9b8fd3d7716 100644
--- a/drivers/mtd/nand/orion_nand.c
+++ b/drivers/mtd/nand/orion_nand.c
@@ -183,6 +183,10 @@ static int __init orion_nand_probe(struct platform_device *pdev)
183 return 0; 183 return 0;
184 184
185no_dev: 185no_dev:
186 if (!IS_ERR(clk)) {
187 clk_disable_unprepare(clk);
188 clk_put(clk);
189 }
186 platform_set_drvdata(pdev, NULL); 190 platform_set_drvdata(pdev, NULL);
187 iounmap(io_base); 191 iounmap(io_base);
188no_res: 192no_res:
diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c
index f0f06b2bc28..4fbba57b8ff 100644
--- a/drivers/net/ethernet/marvell/mv643xx_eth.c
+++ b/drivers/net/ethernet/marvell/mv643xx_eth.c
@@ -2983,6 +2983,12 @@ static int mv643xx_eth_probe(struct platform_device *pdev)
2983 return 0; 2983 return 0;
2984 2984
2985out: 2985out:
2986#if defined(CONFIG_HAVE_CLK)
2987 if (!IS_ERR(mp->clk)) {
2988 clk_disable_unprepare(mp->clk);
2989 clk_put(mp->clk);
2990 }
2991#endif
2986 free_netdev(dev); 2992 free_netdev(dev);
2987 2993
2988 return err; 2994 return err;
diff --git a/drivers/usb/host/ehci-orion.c b/drivers/usb/host/ehci-orion.c
index 82de1073aa5..c6903e3af29 100644
--- a/drivers/usb/host/ehci-orion.c
+++ b/drivers/usb/host/ehci-orion.c
@@ -298,6 +298,10 @@ static int __devinit ehci_orion_drv_probe(struct platform_device *pdev)
298err4: 298err4:
299 usb_put_hcd(hcd); 299 usb_put_hcd(hcd);
300err3: 300err3:
301 if (!IS_ERR(clk)) {
302 clk_disable_unprepare(clk);
303 clk_put(clk);
304 }
301 iounmap(regs); 305 iounmap(regs);
302err2: 306err2:
303 release_mem_region(res->start, resource_size(res)); 307 release_mem_region(res->start, resource_size(res));
diff --git a/sound/soc/kirkwood/kirkwood-i2s.c b/sound/soc/kirkwood/kirkwood-i2s.c
index fa455675045..7646dd7f30c 100644
--- a/sound/soc/kirkwood/kirkwood-i2s.c
+++ b/sound/soc/kirkwood/kirkwood-i2s.c
@@ -458,7 +458,13 @@ static __devinit int kirkwood_i2s_dev_probe(struct platform_device *pdev)
458 } 458 }
459 clk_prepare_enable(priv->clk); 459 clk_prepare_enable(priv->clk);
460 460
461 return snd_soc_register_dai(&pdev->dev, &kirkwood_i2s_dai); 461 err = snd_soc_register_dai(&pdev->dev, &kirkwood_i2s_dai);
462 if (!err)
463 return 0;
464 dev_err(&pdev->dev, "snd_soc_register_dai failed\n");
465
466 clk_disable_unprepare(priv->clk);
467 clk_put(priv->clk);
462 468
463err_ioremap: 469err_ioremap:
464 iounmap(priv->io); 470 iounmap(priv->io);