The sg table isn't refcounted, there's no corresponding locking for
unmapping and drm_map_sg is ok with being called concurrently.

So drop the locking since it doesn't protect anything.

Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
---
 drivers/gpu/drm/exynos/exynos_drm_gem.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.c 
b/drivers/gpu/drm/exynos/exynos_drm_gem.c
index f6c7bc3a7e68..cf34c7f9ed93 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_gem.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c
@@ -367,16 +367,12 @@ int exynos_gem_map_sgt_with_dma(struct drm_device 
*drm_dev,
 {
        int nents;

-       mutex_lock(&drm_dev->struct_mutex);
-
        nents = dma_map_sg(drm_dev->dev, sgt->sgl, sgt->nents, dir);
        if (!nents) {
                DRM_ERROR("failed to map sgl with dma.\n");
-               mutex_unlock(&drm_dev->struct_mutex);
                return nents;
        }

-       mutex_unlock(&drm_dev->struct_mutex);
        return 0;
 }

-- 
2.5.1

Reply via email to