aboutsummaryrefslogtreecommitdiff
path: root/drivers/media/video/gspca/stv06xx
diff options
context:
space:
mode:
authorErik Andren <erik.andren@gmail.com>2009-01-07 06:09:27 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 12:42:29 -0300
commitd5b53f467bf5c2d0dbd5b043461275255073886d (patch)
tree95c4eaf0a22d0afaa91195081aae17363998386c /drivers/media/video/gspca/stv06xx
parent11fb06bd8da59c0a516e1b5f3d200a484becdf06 (diff)
V4L/DVB (10341): gspca - stv06xx: Plug a memory leak in the pb0100 sensor driver.
Signed-off-by: Erik Andren <erik.andren@gmail.com> Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/gspca/stv06xx')
-rw-r--r--drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c6
-rw-r--r--drivers/media/video/gspca/stv06xx/stv06xx_pb0100.h2
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c b/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c
index ae2d04b8560..285221e6b39 100644
--- a/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c
+++ b/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c
@@ -268,6 +268,12 @@ out:
return (err < 0) ? err : 0;
}
+static void pb0100_disconnect(struct sd *sd)
+{
+ sd->sensor = NULL;
+ kfree(sd->sensor_priv);
+}
+
/* FIXME: Sort the init commands out and put them into tables,
this is only for getting the camera to work */
/* FIXME: No error handling for now,
diff --git a/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.h b/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.h
index da7c13ed8ff..4de4fa5ebc5 100644
--- a/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.h
+++ b/drivers/media/video/gspca/stv06xx/stv06xx_pb0100.h
@@ -114,6 +114,7 @@ static int pb0100_start(struct sd *sd);
static int pb0100_init(struct sd *sd);
static int pb0100_stop(struct sd *sd);
static int pb0100_dump(struct sd *sd);
+static void pb0100_disconnect(struct sd *sd);
/* V4L2 controls supported by the driver */
static int pb0100_get_gain(struct gspca_dev *gspca_dev, __s32 *val);
@@ -142,6 +143,7 @@ const struct stv06xx_sensor stv06xx_sensor_pb0100 = {
.start = pb0100_start,
.stop = pb0100_stop,
.dump = pb0100_dump,
+ .disconnect = pb0100_disconnect,
};
#endif