summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--runtime/ChangeLog6
-rw-r--r--runtime/print_new.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/runtime/ChangeLog b/runtime/ChangeLog
index eb5f03bf..a5a094f0 100644
--- a/runtime/ChangeLog
+++ b/runtime/ChangeLog
@@ -1,3 +1,9 @@
+2007-05-29 Frank Ch. Eigler <fche@elastic.org>
+
+ PR 4458
+ * print_new.c (_stp_print_flush): Use interrupt-disabling
+ spinlock variants.
+
2007-05-29 Frank Ch. Eigler <fche@redhat.com>
PR 2224
diff --git a/runtime/print_new.c b/runtime/print_new.c
index a1f1274d..b34aad8a 100644
--- a/runtime/print_new.c
+++ b/runtime/print_new.c
@@ -52,13 +52,14 @@ void _stp_print_flush (void)
#else
{
void *buf;
- spin_lock(&_stp_print_lock);
+ unsigned long flags;
+ spin_lock_irqsave(&_stp_print_lock, flags);
buf = relay_reserve(_stp_utt->rchan, len);
if (likely(buf))
memcpy(buf, pb->buf, len);
else
atomic_inc (&_stp_transport_failures);
- spin_unlock(&_stp_print_lock);
+ spin_unlock_irqrestore(&_stp_print_lock, flags);
}
#endif /* STP_BULKMODE */
}