[PATCH] drm/i915: Unlock mutex on i915_gem_fault() error path
Chris Wilson
chris at chris-wilson.co.uk
Wed Feb 4 06:11:11 PST 2009
If we failed to allocate a new fence register we would return
VM_FAULT_SIGBUS without relinquishing the lock.
---
drivers/gpu/drm/i915/i915_gem.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 28fc3dc..b9921d3 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -584,8 +584,10 @@ int i915_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
if (obj_priv->fence_reg == I915_FENCE_REG_NONE &&
obj_priv->tiling_mode != I915_TILING_NONE) {
ret = i915_gem_object_get_fence_reg(obj, write);
- if (ret != 0)
+ if (ret) {
+ mutex_unlock(&dev->struct_mutex);
return VM_FAULT_SIGBUS;
+ }
}
pfn = ((dev->agp->base + obj_priv->gtt_offset) >> PAGE_SHIFT) +
--
1.6.0.4
--=-xeY6iLwuGO/DAT0p6iom--
More information about the Intel-gfx
mailing list