diff options
author | Daniel Vetter | 2014-08-06 15:04:48 +0200 |
---|---|---|
committer | Daniel Vetter | 2014-08-13 14:23:29 +0200 |
commit | 841cd7737557785c0f215b0984c06aaaaa882302 (patch) | |
tree | a58dca612ff402b33b63b678e7ebb841ea731b29 /drivers/gpu/drm/i915/i915_gem.c | |
parent | drm/i915: Track file_priv, not ctx in the ppgtt structure (diff) | |
download | kernel-qcow2-linux-841cd7737557785c0f215b0984c06aaaaa882302.tar.gz kernel-qcow2-linux-841cd7737557785c0f215b0984c06aaaaa882302.tar.xz kernel-qcow2-linux-841cd7737557785c0f215b0984c06aaaaa882302.zip |
drm/i915: Only refcount ppgtt if it actually is one
This essentially unbreaks non-ppgtt operation where we'd scribble over
random memory.
While at it give the vm_to_ppgtt function a proper prefix and make it
a bit more paranoid.
Reviewed-by: Michel Thierry <michel.thierry@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 8061d45eaa80..e3e30cd474be 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -4485,7 +4485,8 @@ void i915_gem_vma_destroy(struct i915_vma *vma) vm = vma->vm; - i915_ppgtt_put(vm_to_ppgtt(vm)); + if (!i915_is_ggtt(vm)) + i915_ppgtt_put(i915_vm_to_ppgtt(vm)); list_del(&vma->vma_link); |