Hi Hans, On Thursday 29 October 2015 14:02:06 Hans Verkuil wrote: > In the 3.17 kernel the poll() behavior changed for output streams: > as long as not all buffers were queued up poll() would return that > userspace can write. This is fine for the write() call, but when > using stream I/O this changed the behavior since the expectation > was that it would wait for buffers to become available for dequeuing. > > This patch only enables the check whether you can queue buffers > for file I/O only, and skips it for stream I/O. > > Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Thank you for the patch, it's really appreciated. Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> I'll be able to test it when going back home, but there's no need to wait for me to push this upstream. > --- > Note: This patch should be applied to stable for 3.17 and up. Cc: stable@xxxxxxxxxxxxxxx # 3.17+ (although the documentation states it should be "# 3.17.x-" but git log thinks otherwise) > drivers/media/v4l2-core/videobuf2-v4l2.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/media/v4l2-core/videobuf2-v4l2.c > b/drivers/media/v4l2-core/videobuf2-v4l2.c index dda525b..3ca8a2e 100644 > --- a/drivers/media/v4l2-core/videobuf2-v4l2.c > +++ b/drivers/media/v4l2-core/videobuf2-v4l2.c > @@ -860,10 +860,10 @@ unsigned int vb2_poll(struct vb2_queue *q, struct file > *file, poll_table *wait) return res | POLLERR; > > /* > - * For output streams you can write as long as there are fewer buffers > - * queued than there are buffers available. > + * For output streams you can call write() as long as there are fewer > + * buffers queued than there are buffers available. > */ > - if (q->is_output && q->queued_count < q->num_buffers) > + if (q->is_output && q->fileio && q->queued_count < q->num_buffers) > return res | POLLOUT | POLLWRNORM; > > if (list_empty(&q->done_list)) { -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html