On 11/05/2021 06:09, dillon.minfei@xxxxxxxxx wrote: > From: Dillon Min <dillon.minfei@xxxxxxxxx> > > The m2m_ctx resources was allocated by v4l2_m2m_ctx_init() in g2d_open() > should be freed from g2d_release() when it's not used. > > Fix it > > Fixes: 918847341af0 ("[media] v4l: add G2D driver for s5p device family") > Signed-off-by: Dillon Min <dillon.minfei@xxxxxxxxx> > --- > drivers/media/platform/s5p-g2d/g2d.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/media/platform/s5p-g2d/g2d.c b/drivers/media/platform/s5p-g2d/g2d.c > index 15bcb7f6e113..0818fdd3e984 100644 > --- a/drivers/media/platform/s5p-g2d/g2d.c > +++ b/drivers/media/platform/s5p-g2d/g2d.c > @@ -279,6 +279,9 @@ static int g2d_release(struct file *file) > v4l2_ctrl_handler_free(&ctx->ctrl_handler); > v4l2_fh_del(&ctx->fh); > v4l2_fh_exit(&ctx->fh); > + mutex_lock(&dev->mutex); > + v4l2_m2m_ctx_release(ctx->fh.m2m_ctx); > + mutex_unlock(&dev->mutex); This should be moved up to just before the v4l2_ctrl_handler_free() call. Regards, Hans > kfree(ctx); > v4l2_info(&dev->v4l2_dev, "instance closed\n"); > return 0; >