summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_dma.c
diff options
context:
space:
mode:
authorEric Anholt2009-11-09 23:57:34 +0100
committerEric Anholt2010-02-26 22:23:18 +0100
commit21099537dbacc5c8999d833e6bfd1b72edd89189 (patch)
treed152f60e7b4e6bcc72d3d753e8073a9d0345be3a /drivers/gpu/drm/i915/i915_dma.c
parentdrm/i915: Disable the surface tile swizzling on Sandybridge. (diff)
downloadkernel-qcow2-linux-21099537dbacc5c8999d833e6bfd1b72edd89189.tar.gz
kernel-qcow2-linux-21099537dbacc5c8999d833e6bfd1b72edd89189.tar.xz
kernel-qcow2-linux-21099537dbacc5c8999d833e6bfd1b72edd89189.zip
drm/i915: Correct locking in the modesetting failure path, fixing a BUG_ON.
Signed-off-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_dma.c')
-rw-r--r--drivers/gpu/drm/i915/i915_dma.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index 7bfded5e90bb..281faca3e37c 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -1405,7 +1405,9 @@ static int i915_load_modeset_init(struct drm_device *dev,
return 0;
destroy_ringbuffer:
+ mutex_lock(&dev->struct_mutex);
i915_gem_cleanup_ringbuffer(dev);
+ mutex_unlock(&dev->struct_mutex);
out:
return ret;
}