aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorGreg Ungerer <gerg@snapgear.com>2007-10-23 14:37:54 +1000
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-23 08:32:07 -0700
commitdbf18c8f62cd87473d6db8c16afe4207bc370d3e (patch)
tree3c2f4c3953a20a937056aaeeaf090856a9e47d85 /arch
parentada8d218cc951c424e677845a44f72b4ab55a7a7 (diff)
downloadkernel_samsung_crespo-dbf18c8f62cd87473d6db8c16afe4207bc370d3e.zip
kernel_samsung_crespo-dbf18c8f62cd87473d6db8c16afe4207bc370d3e.tar.gz
kernel_samsung_crespo-dbf18c8f62cd87473d6db8c16afe4207bc370d3e.tar.bz2
m68knommu: fix syscall restart handling
Fix system call restart handling. We can call directly to the restart handler, no need to back track through trap that isn't even implemented on m68knommu. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/m68knommu/kernel/signal.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/arch/m68knommu/kernel/signal.c b/arch/m68knommu/kernel/signal.c
index 437f8c6..7037137 100644
--- a/arch/m68knommu/kernel/signal.c
+++ b/arch/m68knommu/kernel/signal.c
@@ -781,15 +781,7 @@ asmlinkage int do_signal(sigset_t *oldset, struct pt_regs *regs)
/* Did we come from a system call? */
if (regs->orig_d0 >= 0) {
/* Restart the system call - no handlers present */
- if (regs->d0 == -ERESTARTNOHAND
- || regs->d0 == -ERESTARTSYS
- || regs->d0 == -ERESTARTNOINTR) {
- regs->d0 = regs->orig_d0;
- regs->pc -= 2;
- } else if (regs->d0 == -ERESTART_RESTARTBLOCK) {
- regs->d0 = __NR_restart_syscall;
- regs->pc -= 2;
- }
+ handle_restart(regs, NULL, 0);
}
return 0;
}