From: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Date: Thu, 6 Nov 2014 13:04:27 +0000 (-0300)
Subject: [media] media: davinci: vpbe: missing clk_put
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=47efeb52f78fd37df91d13e15296f8070d549f81;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

[media] media: davinci: vpbe: missing clk_put

we are getting struct clk using clk_get before calling
clk_prepare_enable. but if clk_prepare_enable fails, then we are
jumping to fail_mutex_unlock where we are just unlocking the mutex,
but we are not freeing the clock source.
this patch just adds a call to clk_put before jumping to
fail_mutex_unlock.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
---

diff --git a/drivers/media/platform/davinci/vpbe.c b/drivers/media/platform/davinci/vpbe.c
index 49d2de0eea2d..e5df9916b2a1 100644
--- a/drivers/media/platform/davinci/vpbe.c
+++ b/drivers/media/platform/davinci/vpbe.c
@@ -625,6 +625,7 @@ static int vpbe_initialize(struct device *dev, struct vpbe_device *vpbe_dev)
 		}
 		if (clk_prepare_enable(vpbe_dev->dac_clk)) {
 			ret =  -ENODEV;
+			clk_put(vpbe_dev->dac_clk);
 			goto fail_mutex_unlock;
 		}
 	}