diff options
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/common/mm/vm_area.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/common/mm/vm_area.c b/drivers/gpu/nvgpu/common/mm/vm_area.c index 5d3b0526..5a28b7bc 100644 --- a/drivers/gpu/nvgpu/common/mm/vm_area.c +++ b/drivers/gpu/nvgpu/common/mm/vm_area.c | |||
@@ -218,8 +218,6 @@ int nvgpu_vm_area_free(struct vm_gk20a *vm, u64 addr) | |||
218 | nvgpu_ref_put(&buffer->ref, __nvgpu_vm_unmap_ref); | 218 | nvgpu_ref_put(&buffer->ref, __nvgpu_vm_unmap_ref); |
219 | } | 219 | } |
220 | 220 | ||
221 | nvgpu_mutex_release(&vm->update_gmmu_lock); | ||
222 | |||
223 | /* if this was a sparse mapping, free the va */ | 221 | /* if this was a sparse mapping, free the va */ |
224 | if (vm_area->sparse) | 222 | if (vm_area->sparse) |
225 | g->ops.mm.gmmu_unmap(vm, | 223 | g->ops.mm.gmmu_unmap(vm, |
@@ -231,6 +229,8 @@ int nvgpu_vm_area_free(struct vm_gk20a *vm, u64 addr) | |||
231 | true, | 229 | true, |
232 | NULL); | 230 | NULL); |
233 | 231 | ||
232 | nvgpu_mutex_release(&vm->update_gmmu_lock); | ||
233 | |||
234 | nvgpu_free(vm->vma[vm_area->pgsz_idx], vm_area->addr); | 234 | nvgpu_free(vm->vma[vm_area->pgsz_idx], vm_area->addr); |
235 | nvgpu_kfree(g, vm_area); | 235 | nvgpu_kfree(g, vm_area); |
236 | 236 | ||