summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2007-08-27 07:37:34 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-08-27 07:37:34 -0300
commit24d623c0110b5b825ab3cea6ea025ae52900e234 (patch)
treec5d1ded68186935633a94991ff5e64cfc849f196
parentc36e2573dade4145df824183887237dabfcde9f9 (diff)
downloadmediapointer-dvb-s2-24d623c0110b5b825ab3cea6ea025ae52900e234.tar.gz
mediapointer-dvb-s2-24d623c0110b5b825ab3cea6ea025ae52900e234.tar.bz2
Fix vivi poll() method
Due to the replace of videobuf_read_one to videobuf_read_stream, poll() method implementation is wrong. This fixes poll() implementation, making read of /dev/video? to work again. With this method, an USB driver can use video-buf, without needing to request memory from the DMA-safe area. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r--linux/drivers/media/video/vivi.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/linux/drivers/media/video/vivi.c b/linux/drivers/media/video/vivi.c
index aa91f1a9a..fe872e253 100644
--- a/linux/drivers/media/video/vivi.c
+++ b/linux/drivers/media/video/vivi.c
@@ -1225,9 +1225,14 @@ vivi_poll(struct file *file, struct poll_table_struct *wait)
} else {
dprintk(1,"poll: read() interface\n");
/* read() capture */
+#if 0
buf = (struct vivi_buffer*)fh->vb_vidq.read_buf;
if (NULL == buf)
return POLLERR;
+#else
+ return videobuf_poll_stream(file, &fh-> vb_vidq,
+ wait);
+#endif
}
poll_wait(file, &buf->vb.done, wait);
if (buf->vb.state == STATE_DONE ||