summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2008-10-13 23:50:08 +0200
committerRusty Russell <rusty@rustcorp.com.au>2008-10-22 10:00:25 +1100
commita802dd0eb5fc97a50cf1abb1f788a8f6cc5db635 (patch)
tree103d3ee6fe2367e40f78e10838653b1f588f0677
parentf44dd164f37336f7e17fabf5740698fd10635172 (diff)
downloadlinux-stable-a802dd0eb5fc97a50cf1abb1f788a8f6cc5db635.tar.gz
linux-stable-a802dd0eb5fc97a50cf1abb1f788a8f6cc5db635.tar.bz2
linux-stable-a802dd0eb5fc97a50cf1abb1f788a8f6cc5db635.zip
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>
-rw-r--r--init/main.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/init/main.c b/init/main.c
index 3d68aaaf6160..6c7fd137c8cd 100644
--- a/init/main.c
+++ b/init/main.c
@@ -767,8 +767,6 @@ 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();
driver_init();
init_irq_proc();
@@ -852,6 +850,8 @@ static int __init kernel_init(void * unused)
cad_pid = task_pid(current);
+ init_workqueues();
+
smp_prepare_cpus(setup_max_cpus);
do_pre_smp_initcalls();