X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=init%2Fmain.c;h=23702bbdbc1d84ae42624944f2bfc799c46952a4;hb=d5767c53535ac79758084773418e0ad186aba4a2;hp=9c51ee7adf3d7edb01bfc501488389d4ca1c45fc;hpb=259a53407d9ae0c109902669c6f2f88a389dd163;p=pandora-kernel.git diff --git a/init/main.c b/init/main.c index 9c51ee7adf3d..23702bbdbc1d 100644 --- a/init/main.c +++ b/init/main.c @@ -209,8 +209,19 @@ early_param("quiet", quiet_kernel); static int __init loglevel(char *str) { - get_option(&str, &console_loglevel); - return 0; + int newlevel; + + /* + * Only update loglevel value when a correct setting was passed, + * to prevent blind crashes (when loglevel being set to 0) that + * are quite hard to debug + */ + if (get_option(&str, &newlevel)) { + console_loglevel = newlevel; + return 0; + } + + return -EINVAL; } early_param("loglevel", loglevel); @@ -370,9 +381,6 @@ static noinline void __init_refok rest_init(void) preempt_enable_no_resched(); schedule(); - /* At this point, we can enable user mode helper functionality */ - usermodehelper_enable(); - /* Call into cpu_idle with preempt disabled */ preempt_disable(); cpu_idle(); @@ -723,6 +731,7 @@ static void __init do_basic_setup(void) init_irq_proc(); do_ctors(); do_initcalls(); + usermodehelper_enable(); } static void __init do_pre_smp_initcalls(void)