Commit 88fecaa2 authored by john stultz's avatar john stultz Committed by Linus Torvalds

[PATCH] time initialisation fix

We're not reay to take a timer interrupt until timekeeping_init() has run.
But time_init() will start the time interrupt and if it is called with
local interrupts enabled we'll immediately take an interrupt and die.

Fix that by running timekeeping_init() prior to time_init().

We don't know _why_ local interrupts got enabled on Jesse Brandeburg's
machine.  That's a separate as-yet-unsolved problem.  THe patch adds a little
bit of debugging to detect that.

This whole requirement that local interrupts be held off during early boot
keeps on biting us.
Signed-off-by: default avatarJohn Stultz <>
Cc: Jesse Brandeburg <>
Signed-off-by: default avatarAndrew Morton <>
Signed-off-by: default avatarLinus Torvalds <>
parent 29454dde
......@@ -496,8 +496,8 @@ asmlinkage void __init start_kernel(void)
* HACK ALERT! This is early. We're enabling the console before
......@@ -508,6 +508,8 @@ asmlinkage void __init start_kernel(void)
if (panic_later)
panic(panic_later, panic_param);
if (!irqs_disabled())
printk("start_kernel(): bug: interrupts were enabled early\n");
if (initrd_start && !initrd_below_start_ok &&
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment