diff options
| author | Gerd Knorr <kraxel@bytesex.org> | 2005-01-25 04:52:00 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-01-25 04:52:00 -0800 |
| commit | 4d96c2a7d2dbf21d06c8a481db22f5ad10fddad4 (patch) | |
| tree | 0cd2208471ca8d021103c18c7fcc9b9874839726 | |
| parent | 64a7434798907ab71828af882c086e6806fef7da (diff) | |
[PATCH] v4l: video-buf update
- Fix a memory leak in video-buf.c
- Small update for the video-buf-dvb.c module.
Signed-off-by: Gerd Knorr <kraxel@bytesex.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| -rw-r--r-- | drivers/media/video/video-buf-dvb.c | 11 | ||||
| -rw-r--r-- | drivers/media/video/video-buf.c | 4 | ||||
| -rw-r--r-- | include/media/video-buf-dvb.h | 4 |
3 files changed, 13 insertions, 6 deletions
diff --git a/drivers/media/video/video-buf-dvb.c b/drivers/media/video/video-buf-dvb.c index 6f3d6ace5b0a..31cc4ed9b747 100644 --- a/drivers/media/video/video-buf-dvb.c +++ b/drivers/media/video/video-buf-dvb.c @@ -1,5 +1,5 @@ /* - * $Id: video-buf-dvb.c,v 1.5 2004/11/07 13:17:15 kraxel Exp $ + * $Id: video-buf-dvb.c,v 1.7 2004/12/09 12:51:35 kraxel Exp $ * * some helper function for simple DVB cards which simply DMA the * complete transport stream and let the computer sort everything else @@ -35,7 +35,7 @@ module_param(debug, int, 0644); MODULE_PARM_DESC(debug,"enable debug messages"); #define dprintk(fmt, arg...) if (debug) \ - printk(KERN_DEBUG "%s/dvb: " fmt, dvb->name, ## arg) + printk(KERN_DEBUG "%s/dvb: " fmt, dvb->name , ## arg) /* ------------------------------------------------------------------ */ @@ -134,19 +134,22 @@ static int videobuf_dvb_stop_feed(struct dvb_demux_feed *feed) /* ------------------------------------------------------------------ */ -int videobuf_dvb_register(struct videobuf_dvb *dvb) +int videobuf_dvb_register(struct videobuf_dvb *dvb, + struct module *module, + void *adapter_priv) { int result; init_MUTEX(&dvb->lock); /* register adapter */ - result = dvb_register_adapter(&dvb->adapter, dvb->name, THIS_MODULE); + result = dvb_register_adapter(&dvb->adapter, dvb->name, module); if (result < 0) { printk(KERN_WARNING "%s: dvb_register_adapter failed (errno = %d)\n", dvb->name, result); goto fail_adapter; } + dvb->adapter->priv = adapter_priv; /* register frontend */ result = dvb_register_frontend(dvb->adapter, dvb->frontend); diff --git a/drivers/media/video/video-buf.c b/drivers/media/video/video-buf.c index 7aa20cbce73d..5bac907dc9de 100644 --- a/drivers/media/video/video-buf.c +++ b/drivers/media/video/video-buf.c @@ -1,5 +1,5 @@ /* - * $Id: video-buf.c,v 1.15 2004/11/07 14:45:00 kraxel Exp $ + * $Id: video-buf.c,v 1.17 2004/12/10 12:33:40 kraxel Exp $ * * generic helper functions for video4linux capture buffers, to handle * memory management and PCI DMA. Right now bttv + saa7134 use it. @@ -20,6 +20,7 @@ #include <linux/init.h> #include <linux/module.h> +#include <linux/moduleparam.h> #include <linux/vmalloc.h> #include <linux/pagemap.h> #include <linux/slab.h> @@ -892,6 +893,7 @@ void videobuf_read_stop(struct videobuf_queue *q) int i; videobuf_queue_cancel(q); + videobuf_mmap_free(q); INIT_LIST_HEAD(&q->stream); for (i = 0; i < VIDEO_MAX_FRAME; i++) { if (NULL == q->bufs[i]) diff --git a/include/media/video-buf-dvb.h b/include/media/video-buf-dvb.h index 53eac765a8bd..94bd33619aa5 100644 --- a/include/media/video-buf-dvb.h +++ b/include/media/video-buf-dvb.h @@ -24,7 +24,9 @@ struct videobuf_dvb { struct dvb_net net; }; -int videobuf_dvb_register(struct videobuf_dvb *dvb); +int videobuf_dvb_register(struct videobuf_dvb *dvb, + struct module *module, + void *adapter_priv); void videobuf_dvb_unregister(struct videobuf_dvb *dvb); /* |
