On 05/04/16 13:57, Chris Wilson wrote:
We only need the struct_mutex to manipulate the pages_pin_count on the
object, we do not need to hold our BKL when freeing the exported
scatterlist.

Signed-off-by: Chris Wilson <[email protected]>
---
  drivers/gpu/drm/i915/i915_gem_dmabuf.c | 4 +---
  1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_dmabuf.c 
b/drivers/gpu/drm/i915/i915_gem_dmabuf.c
index 0506016e18e0..b7d46800c49f 100644
--- a/drivers/gpu/drm/i915/i915_gem_dmabuf.c
+++ b/drivers/gpu/drm/i915/i915_gem_dmabuf.c
@@ -95,14 +95,12 @@ static void i915_gem_unmap_dma_buf(struct 
dma_buf_attachment *attachment,
  {
        struct drm_i915_gem_object *obj = dma_buf_to_obj(attachment->dmabuf);

-       mutex_lock(&obj->base.dev->struct_mutex);
-
        dma_unmap_sg(attachment->dev, sg->sgl, sg->nents, dir);
        sg_free_table(sg);
        kfree(sg);

+       mutex_lock(&obj->base.dev->struct_mutex);
        i915_gem_object_unpin_pages(obj);
-
        mutex_unlock(&obj->base.dev->struct_mutex);
  }



Reviewed-by: Tvrtko Ursulin <[email protected]>

Regards,

Tvrtko
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to