V4L/DVB (6609): Re-adds lock safe videobuf_read_start
authorMauro Carvalho Chehab <mchehab@infradead.org>
Fri, 16 Nov 2007 02:09:30 +0000 (23:09 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Wed, 12 Dec 2007 10:21:37 +0000 (08:21 -0200)
videobuf_dvb needs videobuf_read_start. The EXPORT_SYMBOL_GPL() were removed by
a previous patch. However, videobuf_dvb needs this.

This patch re-adds videobuf_read_start, doing the proper lock.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/videobuf-core.c

index de2f56b19163744b3c798cdddd84c61b292e937c..81f77d2b4bd39c48edeff93d548b66ff989f518f 100644 (file)
@@ -806,7 +806,7 @@ ssize_t videobuf_read_one(struct videobuf_queue *q,
 }
 
 /* Locking: Caller holds q->lock */
-int videobuf_read_start(struct videobuf_queue *q)
+int __videobuf_read_start(struct videobuf_queue *q)
 {
        enum v4l2_field field;
        unsigned long flags=0;
@@ -862,6 +862,17 @@ static void __videobuf_read_stop(struct videobuf_queue *q)
        
 }
 
+int videobuf_read_start(struct videobuf_queue *q)
+{
+       int rc;
+
+       mutex_lock(&q->lock);
+       rc = __videobuf_read_start(q);
+       mutex_unlock(&q->lock);
+
+       return rc;
+}
+
 void videobuf_read_stop(struct videobuf_queue *q)
 {
        mutex_lock(&q->lock);
@@ -1058,6 +1069,7 @@ EXPORT_SYMBOL_GPL(videobuf_dqbuf);
 EXPORT_SYMBOL_GPL(videobuf_streamon);
 EXPORT_SYMBOL_GPL(videobuf_streamoff);
 
+EXPORT_SYMBOL_GPL(videobuf_read_start);
 EXPORT_SYMBOL_GPL(videobuf_read_stop);
 EXPORT_SYMBOL_GPL(videobuf_stop);
 EXPORT_SYMBOL_GPL(videobuf_read_stream);