diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c b/drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c index 77e93458..3682d904 100644 --- a/drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c | |||
@@ -686,11 +686,13 @@ void gk20a_ctxsw_trace_tsg_reset(struct gk20a *g, struct tsg_gk20a *tsg) | |||
686 | return; | 686 | return; |
687 | 687 | ||
688 | mutex_lock(&tsg->ch_list_lock); | 688 | mutex_lock(&tsg->ch_list_lock); |
689 | ch = list_entry(&tsg->ch_list, struct channel_gk20a, ch_entry); | 689 | if (!list_empty(&tsg->ch_list)) { |
690 | ch = list_entry(tsg->ch_list.next, | ||
691 | struct channel_gk20a, ch_entry); | ||
692 | entry.pid = ch->pid; | ||
693 | } | ||
690 | mutex_unlock(&tsg->ch_list_lock); | 694 | mutex_unlock(&tsg->ch_list_lock); |
691 | 695 | ||
692 | entry.pid = ch->pid; | ||
693 | |||
694 | gk20a_ctxsw_trace_write(g, &entry); | 696 | gk20a_ctxsw_trace_write(g, &entry); |
695 | gk20a_ctxsw_trace_wake_up(g, 0); | 697 | gk20a_ctxsw_trace_wake_up(g, 0); |
696 | #endif | 698 | #endif |