diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c index 8b5a1a9e6..e487e0795 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c @@ -2218,7 +2218,6 @@ static void gk20a_channel_clean_up_jobs(struct channel_gk20a *c, platform = gk20a_get_platform(g->dev); gk20a_channel_cancel_job_clean_up(c, false); - gk20a_channel_timeout_stop(c); while (1) { bool completed; @@ -2244,8 +2243,6 @@ static void gk20a_channel_clean_up_jobs(struct channel_gk20a *c, break; } - gk20a_channel_timeout_stop(c); - WARN_ON(!c->sync); if (c->sync) { @@ -2317,6 +2314,7 @@ void gk20a_channel_update(struct channel_gk20a *c, int nr_completed) } trace_gk20a_channel_update(c->hw_chid); + gk20a_channel_timeout_stop(c); gk20a_channel_schedule_job_clean_up(c); gk20a_channel_put(c);