patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / arch / alpha / kernel / smp.c
index 9f06d31..9f4aed8 100644 (file)
@@ -779,7 +779,7 @@ handle_ipi(struct pt_regs *regs)
 void
 smp_send_reschedule(int cpu)
 {
-#if DEBUG_IPI_MSG
+#ifdef DEBUG_IPI_MSG
        if (cpu == hard_smp_processor_id())
                printk(KERN_WARNING
                       "smp_send_reschedule: Sending IPI to self.\n");
@@ -791,7 +791,7 @@ void
 smp_send_stop(void)
 {
        unsigned long to_whom = cpu_present_mask & ~(1UL << smp_processor_id());
-#if DEBUG_IPI_MSG
+#ifdef DEBUG_IPI_MSG
        if (hard_smp_processor_id() != boot_cpu_id)
                printk(KERN_WARNING "smp_send_stop: Not on boot cpu.\n");
 #endif
@@ -820,6 +820,9 @@ smp_call_function_on_cpu (void (*func) (void *info), void *info, int retry,
        unsigned long timeout;
        int num_cpus_to_call;
        
+       /* Can deadlock when called with interrupts disabled */
+       WARN_ON(irqs_disabled());
+
        data.func = func;
        data.info = info;
        data.wait = wait;