From: David Daney <david.daney@xxxxxxxxxx> commit 97ce2c88f9ad42e3c60a9beb9fca87abf3639faa breaks MIPS. The jump-lable initialization does I-Cache flushing after modifying code. On MIPS this is done by calling through the function pointer flush_icache_range(). This function pointer is initialized trap_init(). As things stand, we cannot be calling jump_label_init() until after trap_init() completes, so we move the call down to satisfy this constraint. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> --- Difference from v1: Move jump_label_init() up one so it is now before mm_init() instead of after it. init/main.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/init/main.c b/init/main.c index 217ed23..68ab12b 100644 --- a/init/main.c +++ b/init/main.c @@ -513,8 +513,6 @@ asmlinkage void __init start_kernel(void) __stop___param - __start___param, &unknown_bootoption); - jump_label_init(); - /* * These use large bootmem allocations and must precede * kmem_cache_init() @@ -524,6 +522,7 @@ asmlinkage void __init start_kernel(void) vfs_caches_init_early(); sort_main_extable(); trap_init(); + jump_label_init(); mm_init(); /* -- 1.7.2.3