summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/nvgpu/common/mm/vm_area.c4
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