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

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

drm/radeon: 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.

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 c548b345
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -419,7 +419,6 @@ void radeon_bo_force_delete(struct radeon_device *rdev)
	}
	dev_err(rdev->dev, "Userspace still has active objects !\n");
	list_for_each_entry_safe(bo, n, &rdev->gem.objects, list) {
		mutex_lock(&rdev->ddev->struct_mutex);
		dev_err(rdev->dev, "%p %p %lu %lu force free\n",
			&bo->gem_base, bo, (unsigned long)bo->gem_base.size,
			*((unsigned long *)&bo->gem_base.refcount));
@@ -427,8 +426,7 @@ void radeon_bo_force_delete(struct radeon_device *rdev)
		list_del_init(&bo->list);
		mutex_unlock(&bo->rdev->gem.mutex);
		/* this should unref the ttm bo */
		drm_gem_object_unreference(&bo->gem_base);
		mutex_unlock(&rdev->ddev->struct_mutex);
		drm_gem_object_unreference_unlocked(&bo->gem_base);
	}
}