# HG changeset patch # User yamahata@xxxxxxxxxxxxx # Date 1178101079 -32400 # Node ID 2f1dedd25b220067297387e911668adec185504a # Parent cbb58dd283af2cc0d1893dfb2b1d276f07a803bf import linux git changeset 5ee7737379b1d7f0c977c0f1661fbaf01a8d4721 PATCHNAME: import_linux_git_cs_5ee7737379b1d7f0c977c0f1661fbaf01a8d4721 Signed-off-by: Isaku Yamahata diff -r cbb58dd283af -r 2f1dedd25b22 patches/linux-2.6.18/git-5ee7737379b1d7f0c977c0f1661fbaf01a8d4721.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/linux-2.6.18/git-5ee7737379b1d7f0c977c0f1661fbaf01a8d4721.patch Wed May 02 19:17:59 2007 +0900 @@ -0,0 +1,28 @@ +--- ./arch/ia64/kernel/smp.c.orig 2007-05-02 19:00:01.000000000 +0900 ++++ ./arch/ia64/kernel/smp.c 2007-05-02 19:04:32.000000000 +0900 +@@ -328,10 +328,14 @@ int + smp_call_function (void (*func) (void *info), void *info, int nonatomic, int wait) + { + struct call_data_struct data; +- int cpus = num_online_cpus()-1; ++ int cpus; + +- if (!cpus) ++ spin_lock(&call_lock); ++ cpus = num_online_cpus()-1; ++ if (!cpus) { ++ spin_unlock(&call_lock); + return 0; ++ } + + /* Can deadlock when called with interrupts disabled */ + WARN_ON(irqs_disabled()); +@@ -343,8 +347,6 @@ smp_call_function (void (*func) (void *i + if (wait) + atomic_set(&data.finished, 0); + +- spin_lock(&call_lock); +- + call_data = &data; + mb(); /* ensure store to call_data precedes setting of IPI_CALL_FUNC */ + send_IPI_allbutself(IPI_CALL_FUNC); diff -r cbb58dd283af -r 2f1dedd25b22 patches/linux-2.6.18/series --- a/patches/linux-2.6.18/series Wed May 02 19:16:09 2007 +0900 +++ b/patches/linux-2.6.18/series Wed May 02 19:17:59 2007 +0900 @@ -21,3 +21,4 @@ softlockup-no-idle-hz.patch softlockup-no-idle-hz.patch allow-i386-crash-kernels-to-handle-x86_64-dumps.patch allow-i386-crash-kernels-to-handle-x86_64-dumps-fix.patch +git-5ee7737379b1d7f0c977c0f1661fbaf01a8d4721.patch