summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/nvgpu/gk20a/channel_gk20a.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
index f0a700ac..2421307f 100644
--- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
@@ -1700,9 +1700,14 @@ static void gk20a_channel_timeout_handler(struct work_struct *work)
1700 if (!failing_ch) 1700 if (!failing_ch)
1701 goto fail_enable_ctxsw; 1701 goto fail_enable_ctxsw;
1702 1702
1703 if (failing_ch->hw_chid != ch->hw_chid) 1703 if (failing_ch->hw_chid != ch->hw_chid) {
1704 gk20a_channel_timeout_start(ch, job); 1704 gk20a_channel_timeout_start(ch, job);
1705 1705
1706 mutex_lock(&failing_ch->timeout.lock);
1707 failing_ch->timeout.initialized = false;
1708 mutex_unlock(&failing_ch->timeout.lock);
1709 }
1710
1706 gk20a_fifo_recover(g, BIT(engine_id), 1711 gk20a_fifo_recover(g, BIT(engine_id),
1707 failing_ch->hw_chid, is_tsg, 1712 failing_ch->hw_chid, is_tsg,
1708 true, failing_ch->timeout_debug_dump); 1713 true, failing_ch->timeout_debug_dump);