aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2015-11-23 04:32:34 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2015-12-03 10:55:17 -0500
commit7a6f7133c573f237f2ed51652a947bc02aeeda4d (patch)
tree31629f0a972e350ecfa1f5f1ebe377d370a67ebf
parent7cb410cdbdc9b71e2d4f356f2e4cea0b925abb21 (diff)
drm/armada: use unlocked gem unreferencing
For drm_gem_object_unreference callers are required to hold dev->struct_mutex, which these paths don't. Enforcing this requirement has become a bit more strict with commit ef4c6270bf2867e2f8032e9614d1a8cfc6c71663 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Thu Oct 15 09:36:25 2015 +0200 drm/gem: Check locking in drm_gem_object_unreference Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--drivers/gpu/drm/armada/armada_crtc.c2
-rw-r--r--drivers/gpu/drm/armada/armada_gem.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/armada/armada_crtc.c b/drivers/gpu/drm/armada/armada_crtc.c
index cebcab560626..7ea35bee7cd5 100644
--- a/drivers/gpu/drm/armada/armada_crtc.c
+++ b/drivers/gpu/drm/armada/armada_crtc.c
@@ -972,7 +972,7 @@ static void armada_drm_crtc_destroy(struct drm_crtc *crtc)
972 struct armada_private *priv = crtc->dev->dev_private; 972 struct armada_private *priv = crtc->dev->dev_private;
973 973
974 if (dcrtc->cursor_obj) 974 if (dcrtc->cursor_obj)
975 drm_gem_object_unreference(&dcrtc->cursor_obj->obj); 975 drm_gem_object_unreference_unlocked(&dcrtc->cursor_obj->obj);
976 976
977 priv->dcrtc[dcrtc->num] = NULL; 977 priv->dcrtc[dcrtc->num] = NULL;
978 drm_crtc_cleanup(&dcrtc->crtc); 978 drm_crtc_cleanup(&dcrtc->crtc);
diff --git a/drivers/gpu/drm/armada/armada_gem.c b/drivers/gpu/drm/armada/armada_gem.c
index 60a688ef81c7..aaf88641bfc5 100644
--- a/drivers/gpu/drm/armada/armada_gem.c
+++ b/drivers/gpu/drm/armada/armada_gem.c
@@ -352,13 +352,13 @@ int armada_gem_mmap_ioctl(struct drm_device *dev, void *data,
352 return -ENOENT; 352 return -ENOENT;
353 353
354 if (!dobj->obj.filp) { 354 if (!dobj->obj.filp) {
355 drm_gem_object_unreference(&dobj->obj); 355 drm_gem_object_unreference_unlocked(&dobj->obj);
356 return -EINVAL; 356 return -EINVAL;
357 } 357 }
358 358
359 addr = vm_mmap(dobj->obj.filp, 0, args->size, PROT_READ | PROT_WRITE, 359 addr = vm_mmap(dobj->obj.filp, 0, args->size, PROT_READ | PROT_WRITE,
360 MAP_SHARED, args->offset); 360 MAP_SHARED, args->offset);
361 drm_gem_object_unreference(&dobj->obj); 361 drm_gem_object_unreference_unlocked(&dobj->obj);
362 if (IS_ERR_VALUE(addr)) 362 if (IS_ERR_VALUE(addr))
363 return addr; 363 return addr;
364 364