diff options
Diffstat (limited to 'init')
-rw-r--r-- | init/do_mounts.c | 3 | ||||
-rw-r--r-- | init/main.c | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/init/do_mounts.c b/init/do_mounts.c index 660c1e5..a1de1bf 100644 --- a/init/do_mounts.c +++ b/init/do_mounts.c @@ -372,7 +372,8 @@ void __init prepare_namespace(void) if (saved_root_name[0]) { root_device_name = saved_root_name; - if (!strncmp(root_device_name, "mtd", 3)) { + if (!strncmp(root_device_name, "mtd", 3) || + !strncmp(root_device_name, "ubi", 3)) { mount_block_root(root_device_name, root_mountflags); goto out; } diff --git a/init/main.c b/init/main.c index f7fb200..edeace0 100644 --- a/init/main.c +++ b/init/main.c @@ -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> @@ -758,6 +759,7 @@ static void __init do_initcalls(void) */ static void __init do_basic_setup(void) { + rcu_init_sched(); /* needed by module_init stage. */ /* drivers will send hotplug events */ init_workqueues(); usermodehelper_init(); @@ -779,6 +781,7 @@ static void __init do_pre_smp_initcalls(void) { extern int spawn_ksoftirqd(void); + init_call_single_data(); migration_init(); spawn_ksoftirqd(); if (!nosoftlockup) |