Call init_workqueues before pre smp initcalls.

This allows to create workqueues from within the context of
a pre smp initcall (aka early_initcall).

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Heiko Carstens 2008-10-13 23:50:08 +02:00 committed by Rusty Russell
parent f44dd164f3
commit a802dd0eb5

View File

@ -767,8 +767,6 @@ static void __init do_initcalls(void)
static void __init do_basic_setup(void) static void __init do_basic_setup(void)
{ {
rcu_init_sched(); /* needed by module_init stage. */ rcu_init_sched(); /* needed by module_init stage. */
/* drivers will send hotplug events */
init_workqueues();
usermodehelper_init(); usermodehelper_init();
driver_init(); driver_init();
init_irq_proc(); init_irq_proc();
@ -852,6 +850,8 @@ static int __init kernel_init(void * unused)
cad_pid = task_pid(current); cad_pid = task_pid(current);
init_workqueues();
smp_prepare_cpus(setup_max_cpus); smp_prepare_cpus(setup_max_cpus);
do_pre_smp_initcalls(); do_pre_smp_initcalls();