media: vicodec: upon release, call m2m release before freeing ctrl handler
authorDafna Hirschfeld <dafna3@gmail.com>
Wed, 6 Mar 2019 21:13:25 +0000 (16:13 -0500)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Mon, 25 Mar 2019 17:28:27 +0000 (13:28 -0400)
'v4l2_m2m_ctx_release' calls request complete
so it should be called before 'v4l2_ctrl_handler_free'.

Signed-off-by: Dafna Hirschfeld <dafna3@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/platform/vicodec/vicodec-core.c

index c34a1ac..027daa5 100644 (file)
@@ -1620,12 +1620,12 @@ static int vicodec_release(struct file *file)
        struct video_device *vfd = video_devdata(file);
        struct vicodec_ctx *ctx = file2ctx(file);
 
-       v4l2_fh_del(&ctx->fh);
-       v4l2_fh_exit(&ctx->fh);
-       v4l2_ctrl_handler_free(&ctx->hdl);
        mutex_lock(vfd->lock);
        v4l2_m2m_ctx_release(ctx->fh.m2m_ctx);
        mutex_unlock(vfd->lock);
+       v4l2_fh_del(&ctx->fh);
+       v4l2_fh_exit(&ctx->fh);
+       v4l2_ctrl_handler_free(&ctx->hdl);
        kfree(ctx);
 
        return 0;