From: Hans Verkuil Date: Sat, 30 Mar 2019 14:27:36 +0000 (-0400) Subject: media: vicodec: move v4l2_ctrl_request_complete after spin_unlock X-Git-Tag: Ubuntu-5.4-5.4.0-11.14~2556^2~179 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=e5bc0e1ddd1cd3328297f255e215b3ca55f4fbc8;p=mirror_ubuntu-focal-kernel.git media: vicodec: move v4l2_ctrl_request_complete after spin_unlock v4l2_ctrl_request_complete can sleep, so can't be called while a spinlock is held. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/platform/vicodec/vicodec-core.c b/drivers/media/platform/vicodec/vicodec-core.c index 72c56756e45b..358469f23191 100644 --- a/drivers/media/platform/vicodec/vicodec-core.c +++ b/drivers/media/platform/vicodec/vicodec-core.c @@ -442,14 +442,14 @@ static void device_run(void *priv) ctx->comp_has_next_frame = false; } v4l2_m2m_buf_done(dst_buf, state); - if (ctx->is_stateless && src_req) - v4l2_ctrl_request_complete(src_req, &ctx->hdl); ctx->comp_size = 0; ctx->header_size = 0; ctx->comp_magic_cnt = 0; ctx->comp_has_frame = false; spin_unlock(ctx->lock); + if (ctx->is_stateless && src_req) + v4l2_ctrl_request_complete(src_req, &ctx->hdl); if (ctx->is_enc) v4l2_m2m_job_finish(dev->stateful_enc.m2m_dev, ctx->fh.m2m_ctx);