blob: 58d7208774af5f5f3a892eb3c903a85928dad346 [file] [log] [blame]
From stable-bounces@linux.kernel.org Tue Jul 24 05:07:52 2007
From: Hans Verkuil <hverkuil@xs4all.nl>
Date: Tue, 24 Jul 2007 08:07:43 -0400
Subject: V4L: wm8775/wm8739: Fix memory leak when unloading module
To: stable@kernel.org
Message-ID: <46A5EB8F.1080002@linuxtv.org>
From: Hans Verkuil <hverkuil@xs4all.nl>
State struct was never freed.
(cherry picked from commit 1b2232ab879993fcf5b9391c3febf6ab5d78201e)
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/media/video/wm8739.c | 2 ++
drivers/media/video/wm8775.c | 2 ++
2 files changed, 4 insertions(+)
--- a/drivers/media/video/wm8739.c
+++ b/drivers/media/video/wm8739.c
@@ -321,12 +321,14 @@ static int wm8739_probe(struct i2c_adapt
static int wm8739_detach(struct i2c_client *client)
{
+ struct wm8739_state *state = i2c_get_clientdata(client);
int err;
err = i2c_detach_client(client);
if (err)
return err;
+ kfree(state);
kfree(client);
return 0;
}
--- a/drivers/media/video/wm8775.c
+++ b/drivers/media/video/wm8775.c
@@ -222,12 +222,14 @@ static int wm8775_probe(struct i2c_adapt
static int wm8775_detach(struct i2c_client *client)
{
+ struct wm8775_state *state = i2c_get_clientdata(client);
int err;
err = i2c_detach_client(client);
if (err) {
return err;
}
+ kfree(state);
kfree(client);
return 0;