Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 57183467 authored by Seung-Woo Kim's avatar Seung-Woo Kim Committed by Mauro Carvalho Chehab
Browse files

[media] media: v4l2-mem2mem: return for polling if a buffer is available



The v4l2_m2m_poll() does not need to wait if there is already a buffer in
done_list of source and destination queues, but current v4l2_m2m_poll() always
waits. So done_list of each queue is checked before calling poll_wait().

Signed-off-by: default avatarSeung-Woo Kim <sw0312.kim@samsung.com>
Acked-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: default avatarKamil Debski <k.debski@samsung.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 412cb87d
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -486,7 +486,9 @@ unsigned int v4l2_m2m_poll(struct file *file, struct v4l2_m2m_ctx *m2m_ctx,
	if (m2m_ctx->m2m_dev->m2m_ops->unlock)
		m2m_ctx->m2m_dev->m2m_ops->unlock(m2m_ctx->priv);

	if (list_empty(&src_q->done_list))
		poll_wait(file, &src_q->done_wq, wait);
	if (list_empty(&dst_q->done_list))
		poll_wait(file, &dst_q->done_wq, wait);

	if (m2m_ctx->m2m_dev->m2m_ops->lock)