]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - init/main.c
Add generic helpers for arch IPI function calls
[linux-2.6-omap-h63xx.git] / init / main.c
index b8bcf6da8a772715119b21a7c9b29d931de2fa1a..1efcccff1bdbcbdc760b56e7c5d6cfcc5b221da4 100644 (file)
@@ -31,6 +31,7 @@
 #include <linux/kernel_stat.h>
 #include <linux/start_kernel.h>
 #include <linux/security.h>
+#include <linux/smp.h>
 #include <linux/workqueue.h>
 #include <linux/profile.h>
 #include <linux/rcupdate.h>
@@ -697,7 +698,7 @@ static void __init do_one_initcall(initcall_t fn)
 {
        int count = preempt_count();
        ktime_t t0, t1, delta;
-       char msgbuf[40];
+       char msgbuf[64];
        int result;
 
        if (initcall_debug) {
@@ -722,11 +723,11 @@ static void __init do_one_initcall(initcall_t fn)
                sprintf(msgbuf, "error code %d ", result);
 
        if (preempt_count() != count) {
-               strncat(msgbuf, "preemption imbalance ", sizeof(msgbuf));
+               strlcat(msgbuf, "preemption imbalance ", sizeof(msgbuf));
                preempt_count() = count;
        }
        if (irqs_disabled()) {
-               strncat(msgbuf, "disabled interrupts ", sizeof(msgbuf));
+               strlcat(msgbuf, "disabled interrupts ", sizeof(msgbuf));
                local_irq_enable();
        }
        if (msgbuf[0]) {
@@ -779,6 +780,7 @@ static void __init do_pre_smp_initcalls(void)
 {
        extern int spawn_ksoftirqd(void);
 
+       init_call_single_data();
        migration_init();
        spawn_ksoftirqd();
        if (!nosoftlockup)