From: Mikhail Ulyanov Date: Thu, 1 Oct 2015 12:03:32 +0000 (-0300) Subject: [media] V4L2: platform: rcar_jpu: switch off clock on release later X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=886aa71bd4c3d22b1879cae3a4cd60d09b3fc25f;p=deliverable%2Flinux.git [media] V4L2: platform: rcar_jpu: switch off clock on release later Give JPU peripheral chance to finish current job. Don't switch off clock until context release. Signed-off-by: Mikhail Ulyanov Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/platform/rcar_jpu.c b/drivers/media/platform/rcar_jpu.c index 644f9f4907f4..86d2a3d18241 100644 --- a/drivers/media/platform/rcar_jpu.c +++ b/drivers/media/platform/rcar_jpu.c @@ -1300,17 +1300,17 @@ static int jpu_release(struct file *file) struct jpu *jpu = video_drvdata(file); struct jpu_ctx *ctx = fh_to_ctx(file->private_data); - mutex_lock(&jpu->mutex); - if (--jpu->ref_count == 0) - clk_disable_unprepare(jpu->clk); - mutex_unlock(&jpu->mutex); - v4l2_m2m_ctx_release(ctx->fh.m2m_ctx); v4l2_ctrl_handler_free(&ctx->ctrl_handler); v4l2_fh_del(&ctx->fh); v4l2_fh_exit(&ctx->fh); kfree(ctx); + mutex_lock(&jpu->mutex); + if (--jpu->ref_count == 0) + clk_disable_unprepare(jpu->clk); + mutex_unlock(&jpu->mutex); + return 0; }