diff options
-rw-r--r-- | drivers/gpu/nvgpu/common/fifo/tsg.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/common/fifo/tsg.c b/drivers/gpu/nvgpu/common/fifo/tsg.c index ebcdd2be..72ef9304 100644 --- a/drivers/gpu/nvgpu/common/fifo/tsg.c +++ b/drivers/gpu/nvgpu/common/fifo/tsg.c | |||
@@ -172,6 +172,15 @@ int gk20a_tsg_unbind_channel(struct channel_gk20a *ch, bool force) | |||
172 | /* If channel unbind fails, channel is still part of runlist */ | 172 | /* If channel unbind fails, channel is still part of runlist */ |
173 | channel_gk20a_update_runlist(ch, false); | 173 | channel_gk20a_update_runlist(ch, false); |
174 | 174 | ||
175 | while (ch->mmu_debug_mode_refcnt > 0U) { | ||
176 | err = nvgpu_tsg_set_mmu_debug_mode(ch, false); | ||
177 | if (err != 0) { | ||
178 | nvgpu_err(g, "disable mmu debug mode failed ch:%u", | ||
179 | ch->chid); | ||
180 | break; | ||
181 | } | ||
182 | } | ||
183 | |||
175 | nvgpu_rwsem_down_write(&tsg->ch_list_lock); | 184 | nvgpu_rwsem_down_write(&tsg->ch_list_lock); |
176 | nvgpu_list_del(&ch->ch_entry); | 185 | nvgpu_list_del(&ch->ch_entry); |
177 | ch->tsgid = NVGPU_INVALID_TSG_ID; | 186 | ch->tsgid = NVGPU_INVALID_TSG_ID; |