[PATCH 14/18] drm/qxl: Don't take dev->struct_mutex in bo_force_delete

2015-08-10 Thread Thierry Reding
On Thu, Jul 09, 2015 at 11:32:46PM +0200, Daniel Vetter wrote:
> 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.
> 
> Signed-off-by: Daniel Vetter 
> ---
>  drivers/gpu/drm/qxl/qxl_object.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)

Reviewed-by: Thierry Reding 
-- next part --
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: 



[PATCH 14/18] drm/qxl: Don't take dev->struct_mutex in bo_force_delete

2015-07-10 Thread Daniel Vetter
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.

Signed-off-by: Daniel Vetter 
---
 drivers/gpu/drm/qxl/qxl_object.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/qxl/qxl_object.c b/drivers/gpu/drm/qxl/qxl_object.c
index 6d6f33de48f4..b28370e014c6 100644
--- a/drivers/gpu/drm/qxl/qxl_object.c
+++ b/drivers/gpu/drm/qxl/qxl_object.c
@@ -272,7 +272,6 @@ void qxl_bo_force_delete(struct qxl_device *qdev)
return;
dev_err(qdev->dev, "Userspace still has active objects !\n");
list_for_each_entry_safe(bo, n, >gem.objects, list) {
-   mutex_lock(>ddev->struct_mutex);
dev_err(qdev->dev, "%p %p %lu %lu force free\n",
>gem_base, bo, (unsigned long)bo->gem_base.size,
*((unsigned long *)>gem_base.refcount));
@@ -280,8 +279,7 @@ void qxl_bo_force_delete(struct qxl_device *qdev)
list_del_init(>list);
mutex_unlock(>gem.mutex);
/* this should unref the ttm bo */
-   drm_gem_object_unreference(>gem_base);
-   mutex_unlock(>ddev->struct_mutex);
+   drm_gem_object_unreference_unlocked(>gem_base);
}
 }

-- 
2.1.4