aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Farnsworth <simon.farnsworth@onelan.co.uk>2011-05-10 09:49:50 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-05-20 19:21:27 -0400
commit612031c0771def54dd202cef76bb9bd654e47b5b (patch)
treedf8d294ba25d0ad6aa21d6cfecc88977d6a0e9b8
parentd9c417b5a462d9d0392d91bb73d9a1a16bb2959a (diff)
[media] cx18: Move spinlock and vb_type initialisation into stream_init
The initialisation of vb_type in serialized_open was preventing REQBUFS from working reliably. Remove it, and move the spinlock into stream_init for good measure - it's only used when we have a stream that supports videobuf anyway. Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/video/cx18/cx18-fileops.c3
-rw-r--r--drivers/media/video/cx18/cx18-streams.c2
2 files changed, 2 insertions, 3 deletions
diff --git a/drivers/media/video/cx18/cx18-fileops.c b/drivers/media/video/cx18/cx18-fileops.c
index 6609222eccf8..07411f34885a 100644
--- a/drivers/media/video/cx18/cx18-fileops.c
+++ b/drivers/media/video/cx18/cx18-fileops.c
@@ -810,9 +810,6 @@ static int cx18_serialized_open(struct cx18_stream *s, struct file *filp)
810 item->cx = cx; 810 item->cx = cx;
811 item->type = s->type; 811 item->type = s->type;
812 812
813 spin_lock_init(&s->vbuf_q_lock);
814 s->vb_type = 0;
815
816 item->open_id = cx->open_id++; 813 item->open_id = cx->open_id++;
817 filp->private_data = &item->fh; 814 filp->private_data = &item->fh;
818 815
diff --git a/drivers/media/video/cx18/cx18-streams.c b/drivers/media/video/cx18/cx18-streams.c
index 3995af71b820..852f420fd271 100644
--- a/drivers/media/video/cx18/cx18-streams.c
+++ b/drivers/media/video/cx18/cx18-streams.c
@@ -275,6 +275,8 @@ static void cx18_stream_init(struct cx18 *cx, int type)
275 init_timer(&s->vb_timeout); 275 init_timer(&s->vb_timeout);
276 spin_lock_init(&s->vb_lock); 276 spin_lock_init(&s->vb_lock);
277 if (type == CX18_ENC_STREAM_TYPE_YUV) { 277 if (type == CX18_ENC_STREAM_TYPE_YUV) {
278 spin_lock_init(&s->vbuf_q_lock);
279
278 s->vb_type = V4L2_BUF_TYPE_VIDEO_CAPTURE; 280 s->vb_type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
279 videobuf_queue_vmalloc_init(&s->vbuf_q, &cx18_videobuf_qops, 281 videobuf_queue_vmalloc_init(&s->vbuf_q, &cx18_videobuf_qops,
280 &cx->pci_dev->dev, &s->vbuf_q_lock, 282 &cx->pci_dev->dev, &s->vbuf_q_lock,