| 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; |