Module Name: src Committed By: riastradh Date: Wed Jan 22 14:58:12 UTC 2014
Modified Files: src/sys/external/bsd/drm2/dist/drm/i915 [riastradh-drm2]: i915_irq.c Log Message: Take irq_lock before waking up irq_queue in i915_handle_error. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1.2.8 -r1.1.1.1.2.9 \ src/sys/external/bsd/drm2/dist/drm/i915/i915_irq.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/external/bsd/drm2/dist/drm/i915/i915_irq.c diff -u src/sys/external/bsd/drm2/dist/drm/i915/i915_irq.c:1.1.1.1.2.8 src/sys/external/bsd/drm2/dist/drm/i915/i915_irq.c:1.1.1.1.2.9 --- src/sys/external/bsd/drm2/dist/drm/i915/i915_irq.c:1.1.1.1.2.8 Wed Jan 15 13:53:32 2014 +++ src/sys/external/bsd/drm2/dist/drm/i915/i915_irq.c Wed Jan 22 14:58:12 2014 @@ -1497,8 +1497,13 @@ void i915_handle_error(struct drm_device */ for_each_ring(ring, dev_priv, i) #ifdef __NetBSD__ + { + unsigned long flags; + spin_lock_irqsave(&dev_priv->irq_lock, flags); DRM_SPIN_WAKEUP_ALL(&ring->irq_queue, &dev_priv->irq_lock); + spin_unlock_irqrestore(&dev_priv->irq_lock, flags); + } #else wake_up_all(&ring->irq_queue); #endif