summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Zabel <p.zabel@pengutronix.de>2017-07-17 06:43:15 -0400
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2017-07-19 15:21:45 -0400
commit8056402c54dcc7fcae48e28e51af3ca07f9480ff (patch)
treeef25547fdc99fd08efe225adf8a6b5ff22bc4e31
parentbe7f1ab26f42706ced959db96380cee2457f4378 (diff)
downloadlinux-8056402c54dcc7fcae48e28e51af3ca07f9480ff.tar.gz
linux-8056402c54dcc7fcae48e28e51af3ca07f9480ff.tar.xz
media: coda: wake up capture queue on encoder stop after output streamoff
If an encoder stop command is issued after the output queue has already stopped streaming, the qsequence counter has been reset to 0. Always wake up the capture queue if the output queue is not streaming. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
-rw-r--r--drivers/media/platform/coda/coda-common.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/platform/coda/coda-common.c b/drivers/media/platform/coda/coda-common.c
index 3f80fb3c3b43..3992ef2bda42 100644
--- a/drivers/media/platform/coda/coda-common.c
+++ b/drivers/media/platform/coda/coda-common.c
@@ -933,7 +933,7 @@ static int coda_encoder_cmd(struct file *file, void *fh,
ctx->bit_stream_param |= CODA_BIT_STREAM_END_FLAG;
/* If there is no buffer in flight, wake up */
- if (ctx->qsequence == ctx->osequence) {
+ if (!ctx->streamon_out || ctx->qsequence == ctx->osequence) {
dst_vq = v4l2_m2m_get_vq(ctx->fh.m2m_ctx,
V4L2_BUF_TYPE_VIDEO_CAPTURE);
dst_vq->last_buffer_dequeued = true;