From: Philipp Zabel Date: Mon, 17 Jul 2017 10:43:15 +0000 (-0400) Subject: media: coda: wake up capture queue on encoder stop after output streamoff X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=8056402c54dcc7fcae48e28e51af3ca07f9480ff;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git 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 Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab --- 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;