]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
media: v4l2-mem2mem: add q->error check to v4l2_m2m_poll()
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Thu, 7 Feb 2019 11:49:46 +0000 (06:49 -0500)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Mon, 18 Feb 2019 19:47:55 +0000 (14:47 -0500)
The v4l2_m2m_poll function didn't check whether q->error
was set for either of the two queues. Add support for this.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/v4l2-core/v4l2-mem2mem.c

index 36ae6123dceff6d0af83eec2823b76b1e0e28e43..57eccbaa52de0277a33977e4ddeb1b827d12afd7 100644 (file)
@@ -638,8 +638,10 @@ __poll_t v4l2_m2m_poll(struct file *file, struct v4l2_m2m_ctx *m2m_ctx,
         * means either in driver already or waiting for driver to claim it
         * and start processing.
         */
-       if ((!src_q->streaming || list_empty(&src_q->queued_list))
-               && (!dst_q->streaming || list_empty(&dst_q->queued_list))) {
+       if ((!src_q->streaming || src_q->error ||
+            list_empty(&src_q->queued_list)) &&
+           (!dst_q->streaming || dst_q->error ||
+            list_empty(&dst_q->queued_list))) {
                rc |= EPOLLERR;
                goto end;
        }