--- zzzz-none-000/linux-2.6.19.2/arch/x86_64/kernel/smp.c 2007-01-10 19:10:37.000000000 +0000 +++ davinci-8020-5505/linux-2.6.19.2/arch/x86_64/kernel/smp.c 2007-01-11 07:38:19.000000000 +0000 @@ -376,8 +376,9 @@ /* prevent preemption and reschedule on another processor */ int me = get_cpu(); if (cpu == me) { + WARN_ON(1); put_cpu(); - return 0; + return -EBUSY; } spin_lock_bh(&call_lock); __smp_call_function_single(cpu, func, info, nonatomic, wait);