summaryrefslogtreecommitdiffstats
path: root/kernel/smp.c
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2008-07-15 22:22:49 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-15 23:12:20 +0200
commit63cf13b77ab785e87c867defa8545e6d4a989774 (patch)
treeb71d0a77a59f58f90de9d24d3ecaf6f4eab67fca /kernel/smp.c
parentMerge branch 'generic-ipi-for-linus' of git://git.kernel.org/pub/scm/linux/ke... (diff)
downloadlinux-63cf13b77ab785e87c867defa8545e6d4a989774.tar.xz
linux-63cf13b77ab785e87c867defa8545e6d4a989774.zip
generic ipi function calls: wait on alloc failure fallback
When a GFP_ATOMIC allocation fails, it falls back to allocating the data on the stack and converting it to a waiting call. Make sure we actually wait in this case. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/smp.c')
-rw-r--r--kernel/smp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/smp.c b/kernel/smp.c
index ab10793b0707..462c785ca1ee 100644
--- a/kernel/smp.c
+++ b/kernel/smp.c
@@ -312,6 +312,7 @@ int smp_call_function_mask(cpumask_t mask, void (*func)(void *), void *info,
if (!data) {
data = &d;
data->csd.flags = CSD_FLAG_WAIT;
+ wait = 1;
}
spin_lock_init(&data->lock);