This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: coda: fix V4L2_DEC_CMD_STOP when all buffers are already 
consumed
Author:  Marco Felsch <[email protected]>
Date:    Tue Jun 18 12:45:13 2019 -0400

When the DEC_CMD_STOP command is issued after the context has already
consumed all the queued buffers, we need to make sure to wake the
destination queue with last_buffer_dequeued set, to allow userspace to
make progress in its EOS handling.

As there might still be picture run workers pending at that point, we
need to synchronize with them, so the sequence number comparison reads
stable values.

 reword commit message]

Signed-off-by: Marco Felsch <[email protected]>
Signed-off-by: Lucas Stach <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>

 drivers/media/platform/coda/coda-common.c | 6 ++++++
 1 file changed, 6 insertions(+)

---

diff --git a/drivers/media/platform/coda/coda-common.c 
b/drivers/media/platform/coda/coda-common.c
index 095747ae1c40..43820cfac76c 100644
--- a/drivers/media/platform/coda/coda-common.c
+++ b/drivers/media/platform/coda/coda-common.c
@@ -1071,6 +1071,12 @@ static int coda_decoder_cmd(struct file *file, void *fh,
                coda_bit_stream_end_flag(ctx);
                ctx->hold = false;
                v4l2_m2m_try_schedule(ctx->fh.m2m_ctx);
+
+               flush_work(&ctx->pic_run_work);
+
+               /* If there is no buffer in flight, wake up */
+               if (!ctx->streamon_out || ctx->qsequence == ctx->osequence)
+                       coda_wake_up_capture_queue(ctx);
                break;
        default:
                return -EINVAL;

_______________________________________________
linuxtv-commits mailing list
[email protected]
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to