[PATCH 07/13] drm/exynos: drop struct_mutex from exynos_gem_map_sgt_with_dma
Emil Velikov
emil.l.velikov at gmail.com
Wed Mar 30 10:23:47 UTC 2016
On 30 March 2016 at 10:40, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> 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.
>
> Cc: Inki Dae <inki.dae at samsung.com>
> 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 3b7209335df0..60b9975bb0b1 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_gem.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c
> @@ -388,16 +388,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(to_dma_dev(drm_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;
Either my coffee hasn't kicked in or we have a preexisting bug. Namely
- we are returning 0, regardless if we hit the above error ? If that's
intentional shouldn't there be a comment explaining why ?
-Emil
More information about the dri-devel
mailing list