Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/riastradh-drm2]: src/sys/external/bsd/drm2/dist/drm/i915 Take irq_lock b...



details:   https://anonhg.NetBSD.org/src/rev/e654a6ca8280
branches:  riastradh-drm2
changeset: 788620:e654a6ca8280
user:      riastradh <riastradh%NetBSD.org@localhost>
date:      Wed Jan 22 14:58:12 2014 +0000

description:
Take irq_lock before waking up irq_queue in i915_handle_error.

diffstat:

 sys/external/bsd/drm2/dist/drm/i915/i915_irq.c |  5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diffs (17 lines):

diff -r 16be02e495b2 -r e654a6ca8280 sys/external/bsd/drm2/dist/drm/i915/i915_irq.c
--- a/sys/external/bsd/drm2/dist/drm/i915/i915_irq.c    Tue Jan 21 20:57:00 2014 +0000
+++ b/sys/external/bsd/drm2/dist/drm/i915/i915_irq.c    Wed Jan 22 14:58:12 2014 +0000
@@ -1497,8 +1497,13 @@
                 */
                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



Home | Main Index | Thread Index | Old Index