]> pilppa.com Git - linux-2.6-omap-h63xx.git/commitdiff
[S390] Fix smp_call_function_mask semantics.
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Tue, 5 Feb 2008 15:50:39 +0000 (16:50 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 5 Feb 2008 15:50:55 +0000 (16:50 +0100)
Make sure func isn't called on the local cpu just like on all other
architectures that implement this function.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/kernel/smp.c

index aa37fa154512eb2323064bf2c9dc7ba44ec6be8e..f5046fd4930f018c7adef0c7ba6044933a6db364 100644 (file)
@@ -225,12 +225,11 @@ EXPORT_SYMBOL(smp_call_function_single);
  * You must not call this function with disabled interrupts or from a
  * hardware interrupt handler or from a bottom half handler.
  */
-int
-smp_call_function_mask(cpumask_t mask,
-                       void (*func)(void *), void *info,
-                       int wait)
+int smp_call_function_mask(cpumask_t mask, void (*func)(void *), void *info,
+                          int wait)
 {
        preempt_disable();
+       cpu_clear(smp_processor_id(), mask);
        __smp_call_function_map(func, info, 0, wait, mask);
        preempt_enable();
        return 0;