diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2015-11-23 10:32:40 +0100 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2015-12-14 10:50:35 +0100 |
commit | 115333042c73958cc7c2c76cddd1dfe5b1db1b7f (patch) | |
tree | 09a276a8a0128dc5a72bc3ca0b8ad86c74308833 /drivers/gpu/drm | |
parent | 473112e443c0ff47bc21dc6efac1fabae8613ad1 (diff) | |
download | linux-115333042c73958cc7c2c76cddd1dfe5b1db1b7f.tar.bz2 |
drm/tegra: 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
Cc: Thierry Reding <thierry.reding@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r-- | drivers/gpu/drm/tegra/drm.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c index dc8e7b8db54b..b26f62e7334d 100644 --- a/drivers/gpu/drm/tegra/drm.c +++ b/drivers/gpu/drm/tegra/drm.c @@ -473,7 +473,7 @@ static int tegra_gem_mmap(struct drm_device *drm, void *data, args->offset = drm_vma_node_offset_addr(&bo->gem.vma_node); - drm_gem_object_unreference(gem); + drm_gem_object_unreference_unlocked(gem); return 0; } @@ -683,7 +683,7 @@ static int tegra_gem_set_tiling(struct drm_device *drm, void *data, bo->tiling.mode = mode; bo->tiling.value = value; - drm_gem_object_unreference(gem); + drm_gem_object_unreference_unlocked(gem); return 0; } @@ -723,7 +723,7 @@ static int tegra_gem_get_tiling(struct drm_device *drm, void *data, break; } - drm_gem_object_unreference(gem); + drm_gem_object_unreference_unlocked(gem); return err; } @@ -748,7 +748,7 @@ static int tegra_gem_set_flags(struct drm_device *drm, void *data, if (args->flags & DRM_TEGRA_GEM_BOTTOM_UP) bo->flags |= TEGRA_BO_BOTTOM_UP; - drm_gem_object_unreference(gem); + drm_gem_object_unreference_unlocked(gem); return 0; } @@ -770,7 +770,7 @@ static int tegra_gem_get_flags(struct drm_device *drm, void *data, if (bo->flags & TEGRA_BO_BOTTOM_UP) args->flags |= DRM_TEGRA_GEM_BOTTOM_UP; - drm_gem_object_unreference(gem); + drm_gem_object_unreference_unlocked(gem); return 0; } |