diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-05-01 01:49:23 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-10-01 15:58:09 +0200 |
commit | 6fdb6fbecbf1ca939699f09376e35169615a3678 (patch) | |
tree | 06e854291cb175e24d959f13c9e76212565c8b72 /arch/mn10300 | |
parent | xtensa: can't get to do_notify_resume() when user_mode(regs) is not true (diff) | |
download | linux-6fdb6fbecbf1ca939699f09376e35169615a3678.tar.xz linux-6fdb6fbecbf1ca939699f09376e35169615a3678.zip |
mn10300: get rid of calling do_notify_resume() when returning to kernel mode
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/mn10300')
-rw-r--r-- | arch/mn10300/kernel/entry.S | 4 | ||||
-rw-r--r-- | 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 7dee5f6a1416..0c631d34c8d7 100644 --- a/arch/mn10300/kernel/entry.S +++ b/arch/mn10300/kernel/entry.S @@ -108,6 +108,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 4d584ae29ae1..b2c0ac715128 100644 --- a/arch/mn10300/kernel/signal.c +++ b/arch/mn10300/kernel/signal.c @@ -475,11 +475,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) { |