From: Heiko Carstens s390's console_init must enable interrupts, but early_boot_irqs_on() gets called later. To avoid problems move console_init() after local_irq_enable(). Hope this works on all architectures?! Signed-off-by: Heiko Carstens Acked-by: Ingo Molnar Cc: Martin Schwidefsky Cc: Arjan van de Ven Signed-off-by: Andrew Morton --- init/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff -puN init/main.c~lockdep-console_init-after-local_irq_enable init/main.c --- a/init/main.c~lockdep-console_init-after-local_irq_enable +++ a/init/main.c @@ -522,6 +522,8 @@ asmlinkage void __init start_kernel(void softirq_init(); time_init(); timekeeping_init(); + profile_init(); + local_irq_enable(); /* * HACK ALERT! This is early. We're enabling the console before @@ -531,8 +533,6 @@ asmlinkage void __init start_kernel(void console_init(); if (panic_later) panic(panic_later, panic_param); - profile_init(); - local_irq_enable(); #ifdef CONFIG_BLK_DEV_INITRD if (initrd_start && !initrd_below_start_ok && initrd_start < min_low_pfn << PAGE_SHIFT) { _