diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-06-07 09:03:03 -0400 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2010-08-01 22:03:44 -0400 |
commit | 5f35308bab7efd8c03e4bb4feea07f9b94138c3c (patch) | |
tree | bf324e79001e558169f88c50617858556dbc61f2 /drivers/gpu | |
parent | 7aa69d2ee7e1ecff104fc068585f21af45582982 (diff) |
drm/i915: Propagate error from drm_install_irq() during EnterVT
Simple fix for error propagation along the old UMS path.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 8004dc95c3a8..0bf4bcd53e97 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c | |||
@@ -4687,9 +4687,19 @@ i915_gem_entervt_ioctl(struct drm_device *dev, void *data, | |||
4687 | BUG_ON(HAS_BSD(dev) && !list_empty(&dev_priv->bsd_ring.request_list)); | 4687 | BUG_ON(HAS_BSD(dev) && !list_empty(&dev_priv->bsd_ring.request_list)); |
4688 | mutex_unlock(&dev->struct_mutex); | 4688 | mutex_unlock(&dev->struct_mutex); |
4689 | 4689 | ||
4690 | drm_irq_install(dev); | 4690 | ret = drm_irq_install(dev); |
4691 | if (ret) | ||
4692 | goto cleanup_ringbuffer; | ||
4691 | 4693 | ||
4692 | return 0; | 4694 | return 0; |
4695 | |||
4696 | cleanup_ringbuffer: | ||
4697 | mutex_lock(&dev->struct_mutex); | ||
4698 | i915_gem_cleanup_ringbuffer(dev); | ||
4699 | dev_priv->mm.suspended = 1; | ||
4700 | mutex_unlock(&dev->struct_mutex); | ||
4701 | |||
4702 | return ret; | ||
4693 | } | 4703 | } |
4694 | 4704 | ||
4695 | int | 4705 | int |