drm/i915: Pin pages whilst mapping the dma-buf
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 26 Aug 2013 22:50:55 +0000 (19:50 -0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 3 Sep 2013 17:17:58 +0000 (19:17 +0200)
commit5cfacdedb1a94efd29faeaab53f939554a3f5943
tree0e100a605856f41a7eb12b3bbd7166704ac45da0
parent1f5d76dbb636c73912c9ff1c90ff46dd2273f098
drm/i915: Pin pages whilst mapping the dma-buf

As we attempt to kmalloc after calling get_pages, there is a possibility
that the shrinker may reap the pages we just acquired. To prevent this
we need to increment the pages_pin_count early, so rearrange the code
and error paths to make it so.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem_dmabuf.c