aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/v4l2-core/v4l2-mem2mem.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/media/v4l2-core/v4l2-mem2mem.c b/drivers/media/v4l2-core/v4l2-mem2mem.c
index 178ce96556c6..97defed7c1ac 100644
--- a/drivers/media/v4l2-core/v4l2-mem2mem.c
+++ b/drivers/media/v4l2-core/v4l2-mem2mem.c
@@ -568,8 +568,12 @@ unsigned int v4l2_m2m_poll(struct file *file, struct v4l2_m2m_ctx *m2m_ctx,
568 568
569 if (m2m_ctx->m2m_dev->m2m_ops->lock) 569 if (m2m_ctx->m2m_dev->m2m_ops->lock)
570 m2m_ctx->m2m_dev->m2m_ops->lock(m2m_ctx->priv); 570 m2m_ctx->m2m_dev->m2m_ops->lock(m2m_ctx->priv);
571 else if (m2m_ctx->q_lock) 571 else if (m2m_ctx->q_lock) {
572 mutex_lock(m2m_ctx->q_lock); 572 if (mutex_lock_interruptible(m2m_ctx->q_lock)) {
573 rc |= POLLERR;
574 goto end;
575 }
576 }
573 577
574 spin_lock_irqsave(&src_q->done_lock, flags); 578 spin_lock_irqsave(&src_q->done_lock, flags);
575 if (!list_empty(&src_q->done_list)) 579 if (!list_empty(&src_q->done_list))