diff options
author | Jesse Barnes <jbarnes@virtuousgeek.org> | 2009-02-11 14:01:46 -0800 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-02-20 12:21:13 +1000 |
commit | ab00b3e5210954cbaff9207db874a9f03197e3ba (patch) | |
tree | 68359cf341eb58cefa9d8c91200e6d137ff2007c /drivers/gpu/drm/i915/i915_drv.c | |
parent | 496818f08a78476abdb307e241911536221239fc (diff) | |
download | blackbird-op-linux-ab00b3e5210954cbaff9207db874a9f03197e3ba.tar.gz blackbird-op-linux-ab00b3e5210954cbaff9207db874a9f03197e3ba.zip |
drm/i915: Keep refs on the object over the lifetime of vmas for GTT mmap.
This fixes potential fault at fault time if the object was unreferenced
while the mapping still existed. Now, while the mmap_offset only lives
for the lifetime of the object, the object also stays alive while a vma
exists that needs it.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index aac12ee31a46..a31cbdbc3c54 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c @@ -94,6 +94,8 @@ static int i915_resume(struct drm_device *dev) static struct vm_operations_struct i915_gem_vm_ops = { .fault = i915_gem_fault, + .open = drm_gem_vm_open, + .close = drm_gem_vm_close, }; static struct drm_driver driver = { |