media: imx-jpeg: Don't clear stop state in handling dynamic resolution change

In dynamic resolution change, streamoff and streamon on the capture
queue may be called,
the V4L2_DEC_CMD_STOP cmd may be called before driver parsed the
jpeg header.
don't clear the stop state in streamoff of handling the
dynamic resolution change,
otherwise the drain may not complete.

Fixes: 4911c5acf9 ("media: imx-jpeg: Implement drain using v4l2-mem2mem helpers")
Signed-off-by: Ming Qian <ming.qian@nxp.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
This commit is contained in:
Ming Qian 2022-07-26 17:04:27 +08:00 committed by Hans Verkuil
parent 2c0a1dea8d
commit c76c2e92bc

View File

@ -1277,7 +1277,8 @@ static void mxc_jpeg_stop_streaming(struct vb2_queue *q)
v4l2_m2m_buf_done(vbuf, VB2_BUF_STATE_ERROR);
}
v4l2_m2m_update_stop_streaming_state(ctx->fh.m2m_ctx, q);
if (V4L2_TYPE_IS_OUTPUT(q->type) || !ctx->source_change)
v4l2_m2m_update_stop_streaming_state(ctx->fh.m2m_ctx, q);
if (V4L2_TYPE_IS_OUTPUT(q->type) &&
v4l2_m2m_has_stopped(ctx->fh.m2m_ctx)) {
notify_eos(ctx);