summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/smp.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-05-13 12:33:56 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-05-13 12:33:56 -0700
commit4ef7e3e90f56c74b2a17e12d49ed35c3767d66c2 (patch)
tree263f3462ea88a4a038b64c1e7b076f35ad24fbd0 /arch/x86/kernel/smp.c
parent9604006d283fb67dda5ee9e0e15b7cc6c62e1557 (diff)
parent1f465f4e475454b8bb590846c50a9d16e8046f3d (diff)
Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: user_regset_view table fix for ia32 on 64-bit x86: arch/x86/mm/pat.c - fix warning x86: fix csum_partial() export x86: early_init_centaur(): use set_cpu_cap() x86: fix app crashes after SMP resume x86: wakeup.lds.S - section ordering fix x86: [VOYAGER] fix duplicate phys_cpu_present_map symbol x86/pci: fix broken ISA DMA
Diffstat (limited to 'arch/x86/kernel/smp.c')
-rw-r--r--arch/x86/kernel/smp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c
index 8f75893a646..0cb7aadc87c 100644
--- a/arch/x86/kernel/smp.c
+++ b/arch/x86/kernel/smp.c
@@ -231,7 +231,8 @@ native_smp_call_function_mask(cpumask_t mask,
wmb();
/* Send a message to other CPUs */
- if (cpus_equal(mask, allbutself))
+ if (cpus_equal(mask, allbutself) &&
+ cpus_equal(cpu_online_map, cpu_callout_map))
send_IPI_allbutself(CALL_FUNCTION_VECTOR);
else
send_IPI_mask(mask, CALL_FUNCTION_VECTOR);