]> err.no Git - linux-2.6/blobdiff - kernel/smp.c
video: sh7760fb: SH7760/SH7763 LCDC framebuffer driver
[linux-2.6] / kernel / smp.c
index 7e0432a4a0e24be3181086647c635f68c8426011..462c785ca1eee80dea958541edf19786259c88e6 100644 (file)
@@ -8,6 +8,7 @@
 #include <linux/module.h>
 #include <linux/percpu.h>
 #include <linux/rcupdate.h>
+#include <linux/rculist.h>
 #include <linux/smp.h>
 
 static DEFINE_PER_CPU(struct call_single_queue, call_single_queue);
@@ -300,7 +301,7 @@ int smp_call_function_mask(cpumask_t mask, void (*func)(void *), void *info,
                return 0;
        else if (num_cpus == 1) {
                cpu = first_cpu(mask);
-               return smp_call_function_single(cpu, func, info, 0, wait);
+               return smp_call_function_single(cpu, func, info, wait);
        }
 
        if (!wait) {
@@ -311,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);