diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c index 112e218ab..1e0fd6af2 100644 --- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c @@ -3225,6 +3225,12 @@ int gk20a_mm_fb_flush(struct gk20a *g) gk20a_dbg_fn(""); + gk20a_busy_noresume(g->dev); + if (!g->power_on) { + pm_runtime_put_noidle(&g->dev->dev); + return 0; + } + mutex_lock(&mm->l2_op_lock); /* Make sure all previous writes are committed to the L2. There's no @@ -3262,6 +3268,8 @@ int gk20a_mm_fb_flush(struct gk20a *g) mutex_unlock(&mm->l2_op_lock); + pm_runtime_put_noidle(&g->dev->dev); + return ret; }