aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/v4l2-core/v4l2-mem2mem.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/media/v4l2-core/v4l2-mem2mem.c b/drivers/media/v4l2-core/v4l2-mem2mem.c
index 66f599fcb829..9ac39b5d5830 100644
--- a/drivers/media/v4l2-core/v4l2-mem2mem.c
+++ b/drivers/media/v4l2-core/v4l2-mem2mem.c
@@ -486,8 +486,10 @@ unsigned int v4l2_m2m_poll(struct file *file, struct v4l2_m2m_ctx *m2m_ctx,
486 if (m2m_ctx->m2m_dev->m2m_ops->unlock) 486 if (m2m_ctx->m2m_dev->m2m_ops->unlock)
487 m2m_ctx->m2m_dev->m2m_ops->unlock(m2m_ctx->priv); 487 m2m_ctx->m2m_dev->m2m_ops->unlock(m2m_ctx->priv);
488 488
489 poll_wait(file, &src_q->done_wq, wait); 489 if (list_empty(&src_q->done_list))
490 poll_wait(file, &dst_q->done_wq, wait); 490 poll_wait(file, &src_q->done_wq, wait);
491 if (list_empty(&dst_q->done_list))
492 poll_wait(file, &dst_q->done_wq, wait);
491 493
492 if (m2m_ctx->m2m_dev->m2m_ops->lock) 494 if (m2m_ctx->m2m_dev->m2m_ops->lock)
493 m2m_ctx->m2m_dev->m2m_ops->lock(m2m_ctx->priv); 495 m2m_ctx->m2m_dev->m2m_ops->lock(m2m_ctx->priv);