From: Thierry Reding Date: Thu, 4 Aug 2011 07:14:12 +0000 (-0300) Subject: [media] tm6000: Initialize isochronous transfers only once X-Git-Tag: v3.2-rc1~112^2~290 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=88e834a841bde22b4c0aa71809e02c118c5b219d;p=platform%2Fkernel%2Flinux-stable.git [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 --- 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;