]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
videobuf: only start streaming in poll() if so requested by the poll mask.
authorHans Verkuil <hans.verkuil@cisco.com>
Wed, 13 Jul 2011 09:03:52 +0000 (11:03 +0200)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 8 Nov 2011 19:26:49 +0000 (17:26 -0200)
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
drivers/media/video/videobuf-core.c

index de4fa4eb8844b3b77f82ae8344633e1201e38ad3..ffdf59cfe4054f18d258ec4d682fddcfc7dc1aa7 100644 (file)
@@ -1129,6 +1129,7 @@ unsigned int videobuf_poll_stream(struct file *file,
                                  struct videobuf_queue *q,
                                  poll_table *wait)
 {
+       unsigned long req_events = poll_requested_events(wait);
        struct videobuf_buffer *buf = NULL;
        unsigned int rc = 0;
 
@@ -1137,7 +1138,7 @@ unsigned int videobuf_poll_stream(struct file *file,
                if (!list_empty(&q->stream))
                        buf = list_entry(q->stream.next,
                                         struct videobuf_buffer, stream);
-       } else {
+       } else if (req_events & (POLLIN | POLLRDNORM)) {
                if (!q->reading)
                        __videobuf_read_start(q);
                if (!q->reading) {