diff options
-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 |