From b7d3cc9a756068db8b3166625473bda753d9163e Mon Sep 17 00:00:00 2001 From: Al Viro Date: Mon, 30 Apr 2012 19:49:23 -0400 Subject: [PATCH] mn10300: get rid of calling do_notify_resume() when returning to kernel mode Signed-off-by: Al Viro --- arch/mn10300/kernel/entry.S | 4 ++++ arch/mn10300/kernel/signal.c | 5 ----- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/arch/mn10300/kernel/entry.S b/arch/mn10300/kernel/entry.S index 8e11f9f48999..976c5402f53f 100644 --- a/arch/mn10300/kernel/entry.S +++ b/arch/mn10300/kernel/entry.S @@ -94,6 +94,10 @@ restore_all: ############################################################################### ALIGN syscall_exit_work: + mov (REG_EPSW,fp),d0 + and EPSW_nSL,d0 + beq resume_kernel # returning to supervisor mode + btst _TIF_SYSCALL_TRACE,d2 beq work_pending LOCAL_IRQ_ENABLE # could let syscall_trace_exit() call diff --git a/arch/mn10300/kernel/signal.c b/arch/mn10300/kernel/signal.c index 6ab0bee2a54f..d2ac9f282869 100644 --- a/arch/mn10300/kernel/signal.c +++ b/arch/mn10300/kernel/signal.c @@ -474,11 +474,6 @@ static void do_signal(struct pt_regs *regs) siginfo_t info; int signr; - /* we want the common case to go fast, which is why we may in certain - * cases get here from kernel mode */ - if (!user_mode(regs)) - return; - signr = get_signal_to_deliver(&info, &ka, regs, NULL); if (signr > 0) { if (handle_signal(signr, &info, &ka, regs) == 0) { -- 2.39.5