diff options
Diffstat (limited to 'arch/um/kernel')
-rw-r--r-- | arch/um/kernel/early_printk.c | 8 | ||||
-rw-r--r-- | arch/um/kernel/trap.c | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/arch/um/kernel/early_printk.c b/arch/um/kernel/early_printk.c index ec649bf72f68..183060f76a11 100644 --- a/arch/um/kernel/early_printk.c +++ b/arch/um/kernel/early_printk.c @@ -16,7 +16,7 @@ static void early_console_write(struct console *con, const char *s, unsigned int um_early_printk(s, n); } -static struct console early_console = { +static struct console early_console_dev = { .name = "earlycon", .write = early_console_write, .flags = CON_BOOT, @@ -25,8 +25,10 @@ static struct console early_console = { static int __init setup_early_printk(char *buf) { - register_console(&early_console); - + if (!early_console) { + early_console = &early_console_dev; + register_console(&early_console_dev); + } return 0; } diff --git a/arch/um/kernel/trap.c b/arch/um/kernel/trap.c index dafc94715950..78780693eb6d 100644 --- a/arch/um/kernel/trap.c +++ b/arch/um/kernel/trap.c @@ -37,7 +37,7 @@ int handle_page_fault(unsigned long address, unsigned long ip, * If the fault was during atomic operation, don't take the fault, just * fail. */ - if (in_atomic()) + if (!mm || pagefault_disabled()) goto out_nosemaphore; down_read(&mm->mmap_sem); |