From f0fe1c2f0247cc4e2d786e879cb0c951ccb2181e Mon Sep 17 00:00:00 2001 From: Alex Waterman Date: Tue, 20 Sep 2016 15:22:23 -0700 Subject: gpu: nvgpu: Only cleanup existing semaphore pools Not all VMs have semaphore pools made for them even when semaphores are going to be used. Thus only VMs with existing semaphore pools should have their pools cleaned up. Bug 1816516 Change-Id: I07828708faef451f1711f58c0d5b3f8e4d296dd0 Signed-off-by: Alex Waterman Reviewed-on: http://git-master/r/1225612 Reviewed-by: mobile promotions Tested-by: mobile promotions (cherry picked from commit 6cdb7b6650765465dca68dc3c23b3d795ccdafb5) Reviewed-on: http://git-master/r/1240105 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom --- drivers/gpu/nvgpu/gk20a/mm_gk20a.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'drivers') diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c index df58feb2..944a5b13 100644 --- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c @@ -4077,8 +4077,10 @@ static void gk20a_vm_remove_support_nofree(struct vm_gk20a *vm) * update_gmmu_lock. */ if (!gk20a_platform_has_syncpoints(gk20a_from_vm(vm)->dev)) { - gk20a_semaphore_pool_unmap(vm->sema_pool, vm); - gk20a_semaphore_pool_put(vm->sema_pool); + if (vm->sema_pool) { + gk20a_semaphore_pool_unmap(vm->sema_pool, vm); + gk20a_semaphore_pool_put(vm->sema_pool); + } } mutex_lock(&vm->update_gmmu_lock); -- cgit v1.2.2