aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mn10300
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-04-30 19:49:23 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-10-01 09:58:09 -0400
commit6fdb6fbecbf1ca939699f09376e35169615a3678 (patch)
tree06e854291cb175e24d959f13c9e76212565c8b72 /arch/mn10300
parent13d112ed32e66742a1795819b76752e8f7166848 (diff)
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.S4
-rw-r--r--arch/mn10300/kernel/signal.c5
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:
108############################################################################### 108###############################################################################
109 ALIGN 109 ALIGN
110syscall_exit_work: 110syscall_exit_work:
111 mov (REG_EPSW,fp),d0
112 and EPSW_nSL,d0
113 beq resume_kernel # returning to supervisor mode
114
111 btst _TIF_SYSCALL_TRACE,d2 115 btst _TIF_SYSCALL_TRACE,d2
112 beq work_pending 116 beq work_pending
113 LOCAL_IRQ_ENABLE # could let syscall_trace_exit() call 117 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)
475 siginfo_t info; 475 siginfo_t info;
476 int signr; 476 int signr;
477 477
478 /* we want the common case to go fast, which is why we may in certain
479 * cases get here from kernel mode */
480 if (!user_mode(regs))
481 return;
482
483 signr = get_signal_to_deliver(&info, &ka, regs, NULL); 478 signr = get_signal_to_deliver(&info, &ka, regs, NULL);
484 if (signr > 0) { 479 if (signr > 0) {
485 if (handle_signal(signr, &info, &ka, regs) == 0) { 480 if (handle_signal(signr, &info, &ka, regs) == 0) {