summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/videobuf-core.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2008-01-14 10:22:13 -0200
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-01-14 10:22:13 -0200
commit7c14ddab23ce558c7d5de6fc23dddd36354bc55d (patch)
tree7515d832b81620dda128f6958cae51bb65e80c7e /linux/drivers/media/video/videobuf-core.c
parentfa4573d8426537fc6e799fc561c4b371a494f829 (diff)
parent3074f9b68fb34b45932e9bb550a5234693eb6e04 (diff)
downloadmediapointer-dvb-s2-7c14ddab23ce558c7d5de6fc23dddd36354bc55d.tar.gz
mediapointer-dvb-s2-7c14ddab23ce558c7d5de6fc23dddd36354bc55d.tar.bz2
merge: http://linuxtv.org/hg/~tmerle/v4l-dvb
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'linux/drivers/media/video/videobuf-core.c')
-rw-r--r--linux/drivers/media/video/videobuf-core.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/linux/drivers/media/video/videobuf-core.c b/linux/drivers/media/video/videobuf-core.c
index 792099865..cf5033b68 100644
--- a/linux/drivers/media/video/videobuf-core.c
+++ b/linux/drivers/media/video/videobuf-core.c
@@ -103,10 +103,14 @@ int videobuf_iolock(struct videobuf_queue *q, struct videobuf_buffer *vb,
since mmap_mapper() method should be called before _iolock.
On some cases, the mmap_mapper() is called only after scheduling.
*/
- wait_event_timeout(vb->done, q->is_mmapped, msecs_to_jiffies(100));
- if (!q->is_mmapped) {
- printk(KERN_ERR "Error: mmap_mapper() never called!\n");
- return -EINVAL;
+ if (vb->memory == V4L2_MEMORY_MMAP) {
+ wait_event_timeout(vb->done, q->is_mmapped,
+ msecs_to_jiffies(100));
+ if (!q->is_mmapped) {
+ printk(KERN_ERR
+ "Error: mmap_mapper() never called!\n");
+ return -EINVAL;
+ }
}
return CALL(q, iolock, q, vb, fbuf);