diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/as_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/as_gk20a.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/as_gk20a.c b/drivers/gpu/nvgpu/gk20a/as_gk20a.c index 1d604b83..42fa2167 100644 --- a/drivers/gpu/nvgpu/gk20a/as_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/as_gk20a.c | |||
@@ -73,6 +73,7 @@ static int gk20a_as_alloc_share(struct gk20a_as *as, | |||
73 | */ | 73 | */ |
74 | int gk20a_as_release_share(struct gk20a_as_share *as_share) | 74 | int gk20a_as_release_share(struct gk20a_as_share *as_share) |
75 | { | 75 | { |
76 | struct gk20a *g = as_share->vm->mm->g; | ||
76 | int err; | 77 | int err; |
77 | 78 | ||
78 | gk20a_dbg_fn(""); | 79 | gk20a_dbg_fn(""); |
@@ -80,7 +81,10 @@ int gk20a_as_release_share(struct gk20a_as_share *as_share) | |||
80 | if (atomic_dec_return(&as_share->ref_cnt) > 0) | 81 | if (atomic_dec_return(&as_share->ref_cnt) > 0) |
81 | return 0; | 82 | return 0; |
82 | 83 | ||
84 | gk20a_busy(g->dev); | ||
83 | err = gk20a_vm_release_share(as_share); | 85 | err = gk20a_vm_release_share(as_share); |
86 | gk20a_idle(g->dev); | ||
87 | |||
84 | release_as_share_id(as_share->as, as_share->id); | 88 | release_as_share_id(as_share->as, as_share->id); |
85 | kfree(as_share); | 89 | kfree(as_share); |
86 | return err; | 90 | return err; |