diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/channel_gk20a.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c index 5691a7cd..f311a91a 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c | |||
@@ -577,7 +577,7 @@ void gk20a_free_channel(struct channel_gk20a *ch, bool finish) | |||
577 | mutex_unlock(&f->deferred_reset_mutex); | 577 | mutex_unlock(&f->deferred_reset_mutex); |
578 | 578 | ||
579 | if (!ch->bound) | 579 | if (!ch->bound) |
580 | return; | 580 | goto release; |
581 | 581 | ||
582 | if (!gk20a_channel_as_bound(ch)) | 582 | if (!gk20a_channel_as_bound(ch)) |
583 | goto unbind; | 583 | goto unbind; |
@@ -652,6 +652,7 @@ unbind: | |||
652 | 652 | ||
653 | mutex_unlock(&ch->dbg_s_lock); | 653 | mutex_unlock(&ch->dbg_s_lock); |
654 | 654 | ||
655 | release: | ||
655 | /* ALWAYS last */ | 656 | /* ALWAYS last */ |
656 | release_used_channel(f, ch); | 657 | release_used_channel(f, ch); |
657 | } | 658 | } |