summaryrefslogtreecommitdiff
path: root/init
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@penguin.transmeta.com>2002-03-06 00:25:30 -0800
committerLinus Torvalds <torvalds@penguin.transmeta.com>2002-03-06 00:25:30 -0800
commitc2ba4e3ca06e65958453dfe8d15a73b1aa1a5feb (patch)
treeaa7cecd9f7ec733c03cc5073c0ed2f3628730432 /init
parentd6e4bed6bc9581ac5991519872b8030e41523528 (diff)
Kernel lock exclusion is actually needed in the boot sequence,
so we need to make init_idle() aware of it so that it gets the preempt_count initialization right.
Diffstat (limited to 'init')
-rw-r--r--init/main.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/init/main.c b/init/main.c
index b655eba636d6..e5f17bfb5c98 100644
--- a/init/main.c
+++ b/init/main.c
@@ -338,6 +338,7 @@ asmlinkage void __init start_kernel(void)
* Interrupts are still disabled. Do necessary setups, then
* enable them
*/
+ lock_kernel();
printk(linux_banner);
setup_arch(&command_line);
setup_per_cpu_areas();
@@ -405,8 +406,6 @@ asmlinkage void __init start_kernel(void)
init_idle(current, smp_processor_id());
- lock_kernel();
-
/*
* We count on the initial thread going ok
* Like idlers init is an unlocked kernel thread, which will