summary refs log tree commit diff
diff options
context:
space:
mode:
authorDave Jones <davej@redhat.com>2014-02-12 22:47:51 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2014-02-13 19:40:24 +0000
commit71c68c4fc9bdcd6e46107a0f40b50a523f3b4fe0 (patch)
tree0905546bc792d3ed07ad66c9b2ea757dc7ff1858
parent2e9a3fc3a360ac180f5b4c3c4416a0d0dec60dd8 (diff)
downloadlinux-71c68c4fc9bdcd6e46107a0f40b50a523f3b4fe0.tar.gz
drm/i2c: tda998x: Fix memory leak in tda998x_encoder_init error path.
Commit 6ae668cc19e8 (drm/i2c: tda998x: check the CEC device creation)
introduced a memory leak in the error path of tda998x_encoder_init

Picked up by the nightly Coverity scan. CID 1174076

Signed-off-by: Dave Jones <davej@fedoraproject.org>
Acked-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--drivers/gpu/drm/i2c/tda998x_drv.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c
index fa18cf374470..faa77f543a07 100644
--- a/drivers/gpu/drm/i2c/tda998x_drv.c
+++ b/drivers/gpu/drm/i2c/tda998x_drv.c
@@ -1151,8 +1151,10 @@ tda998x_encoder_init(struct i2c_client *client,
 
 	priv->current_page = 0xff;
 	priv->cec = i2c_new_dummy(client->adapter, 0x34);
-	if (!priv->cec)
+	if (!priv->cec) {
+		kfree(priv);
 		return -ENODEV;
+	}
 	priv->dpms = DRM_MODE_DPMS_OFF;
 
 	encoder_slave->slave_priv = priv;