mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-13 14:14:37 +00:00
drm/qxl: Don't take dev->struct_mutex in bo_force_delete
It really doesn't protect anything which doesn't have other locks already. It also doesn't seem to be wired up into the driver unload code fwiw, but that's a different issue. Reviewed-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
This commit is contained in:
parent
c325f88d7d
commit
2143287d4e
1 changed files with 1 additions and 3 deletions
|
@ -272,7 +272,6 @@ void qxl_bo_force_delete(struct qxl_device *qdev)
|
||||||
return;
|
return;
|
||||||
dev_err(qdev->dev, "Userspace still has active objects !\n");
|
dev_err(qdev->dev, "Userspace still has active objects !\n");
|
||||||
list_for_each_entry_safe(bo, n, &qdev->gem.objects, list) {
|
list_for_each_entry_safe(bo, n, &qdev->gem.objects, list) {
|
||||||
mutex_lock(&qdev->ddev->struct_mutex);
|
|
||||||
dev_err(qdev->dev, "%p %p %lu %lu force free\n",
|
dev_err(qdev->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));
|
||||||
|
@ -280,8 +279,7 @@ void qxl_bo_force_delete(struct qxl_device *qdev)
|
||||||
list_del_init(&bo->list);
|
list_del_init(&bo->list);
|
||||||
mutex_unlock(&qdev->gem.mutex);
|
mutex_unlock(&qdev->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(&qdev->ddev->struct_mutex);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue