From 88e834a841bde22b4c0aa71809e02c118c5b219d Mon Sep 17 00:00:00 2001 From: Thierry Reding Date: Thu, 4 Aug 2011 04:14:12 -0300 Subject: [PATCH] [media] tm6000: Initialize isochronous transfers only once This fixes a memory leak where isochronous buffers would be set up for each video buffer, while it is sufficient to set them up only once per device. Signed-off-by: Thierry Reding Signed-off-by: Mauro Carvalho Chehab --- drivers/staging/tm6000/tm6000-video.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/staging/tm6000/tm6000-video.c b/drivers/staging/tm6000/tm6000-video.c index bef6023..873c8ee 100644 --- a/drivers/staging/tm6000/tm6000-video.c +++ b/drivers/staging/tm6000/tm6000-video.c @@ -754,7 +754,7 @@ buffer_prepare(struct videobuf_queue *vq, struct videobuf_buffer *vb, struct tm6000_fh *fh = vq->priv_data; struct tm6000_buffer *buf = container_of(vb, struct tm6000_buffer, vb); struct tm6000_core *dev = fh->dev; - int rc = 0, urb_init = 0; + int rc = 0; BUG_ON(NULL == fh->fmt); @@ -780,13 +780,9 @@ buffer_prepare(struct videobuf_queue *vq, struct videobuf_buffer *vb, rc = videobuf_iolock(vq, &buf->vb, NULL); if (rc != 0) goto fail; - urb_init = 1; } - if (!dev->isoc_ctl.num_bufs) - urb_init = 1; - - if (urb_init) { + if (!dev->isoc_ctl.num_bufs) { rc = tm6000_prepare_isoc(dev); if (rc < 0) goto fail; -- 2.7.4