Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[media] mem2mem: make queue lock in v4l2_m2m_poll interruptible

This patch makes the queue lock taken in v4l2_m2m_poll interruptible.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

authored by

Philipp Zabel and committed by
Mauro Carvalho Chehab
a85fd20f 7e49027e

+6 -2
+6 -2
drivers/media/v4l2-core/v4l2-mem2mem.c
··· 568 568 569 569 if (m2m_ctx->m2m_dev->m2m_ops->lock) 570 570 m2m_ctx->m2m_dev->m2m_ops->lock(m2m_ctx->priv); 571 - else if (m2m_ctx->q_lock) 572 - mutex_lock(m2m_ctx->q_lock); 571 + else if (m2m_ctx->q_lock) { 572 + if (mutex_lock_interruptible(m2m_ctx->q_lock)) { 573 + rc |= POLLERR; 574 + goto end; 575 + } 576 + } 573 577 574 578 spin_lock_irqsave(&src_q->done_lock, flags); 575 579 if (!list_empty(&src_q->done_list))