X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Falpha%2Fkernel%2Fsmp.c;h=9f4aed85950f97b3f2894e0a12658eb512eb57d2;hb=746550cff061581f89c687ada8523670768364f2;hp=9f06d31f3da3a9a80046089f45ad07df08a1a3ce;hpb=86090fcac5e27b630656fe3d963a6b80e26dac44;p=linux-2.6.git diff --git a/arch/alpha/kernel/smp.c b/arch/alpha/kernel/smp.c index 9f06d31f3..9f4aed859 100644 --- a/arch/alpha/kernel/smp.c +++ b/arch/alpha/kernel/smp.c @@ -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;