Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit db4448f7 authored by Daniel Vetter's avatar Daniel Vetter Committed by Alex Deucher
Browse files

drm/amdgpu: Don't take dev->struct_mutex in bo_force_delete



It really doesn't protect anything which doesn't have other locks
already. Also this is run from driver unload code so not much need for
locks anyway.

Same changes as for radeon really.

Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Reviewed-by: default avatarThierry Reding <treding@nvidia.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 34ddc3e9
Loading
Loading
Loading
Loading
+1 −3
Original line number Original line Diff line number Diff line
@@ -466,7 +466,6 @@ void amdgpu_bo_force_delete(struct amdgpu_device *adev)
	}
	}
	dev_err(adev->dev, "Userspace still has active objects !\n");
	dev_err(adev->dev, "Userspace still has active objects !\n");
	list_for_each_entry_safe(bo, n, &adev->gem.objects, list) {
	list_for_each_entry_safe(bo, n, &adev->gem.objects, list) {
		mutex_lock(&adev->ddev->struct_mutex);
		dev_err(adev->dev, "%p %p %lu %lu force free\n",
		dev_err(adev->dev, "%p %p %lu %lu force free\n",
			&bo->gem_base, bo, (unsigned long)bo->gem_base.size,
			&bo->gem_base, bo, (unsigned long)bo->gem_base.size,
			*((unsigned long *)&bo->gem_base.refcount));
			*((unsigned long *)&bo->gem_base.refcount));
@@ -474,8 +473,7 @@ void amdgpu_bo_force_delete(struct amdgpu_device *adev)
		list_del_init(&bo->list);
		list_del_init(&bo->list);
		mutex_unlock(&bo->adev->gem.mutex);
		mutex_unlock(&bo->adev->gem.mutex);
		/* this should unref the ttm bo */
		/* this should unref the ttm bo */
		drm_gem_object_unreference(&bo->gem_base);
		drm_gem_object_unreference_unlocked(&bo->gem_base);
		mutex_unlock(&adev->ddev->struct_mutex);
	}
	}
}
}