If we failed to allocate a new fence register we would return
VM_FAULT_SIGBUS without relinquishing the lock.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@linux.ie>
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) +