diff options
-rw-r--r-- | sys/dev/pci/drm/i915_gem.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/pci/drm/i915_gem.c b/sys/dev/pci/drm/i915_gem.c index 2997ad8728b..ef0db7eb69f 100644 --- a/sys/dev/pci/drm/i915_gem.c +++ b/sys/dev/pci/drm/i915_gem.c @@ -2287,6 +2287,7 @@ i915_gem_ring_throttle(struct drm_device *dev, struct drm_file *file) return 0; ret = 0; + mtx_enter(&dev_priv->irq_lock); if (!i915_seqno_passed(ring->get_seqno(ring, false), seqno)) { /* And wait for the seqno passing without holding any locks and * causing extra latency for others. This is safe as the irq @@ -2311,6 +2312,7 @@ i915_gem_ring_throttle(struct drm_device *dev, struct drm_file *file) ret = EBUSY; } } + mtx_leave(&dev_priv->irq_lock); if (ret == 0) inteldrm_timeout(dev_priv); |