diff options
| -rw-r--r-- | arch/tile/kernel/signal.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/tile/kernel/signal.c b/arch/tile/kernel/signal.c index fb28e85ae3ae..704ce0bce833 100644 --- a/arch/tile/kernel/signal.c +++ b/arch/tile/kernel/signal.c | |||
| @@ -330,7 +330,7 @@ void do_signal(struct pt_regs *regs) | |||
| 330 | current_thread_info()->status &= ~TS_RESTORE_SIGMASK; | 330 | current_thread_info()->status &= ~TS_RESTORE_SIGMASK; |
| 331 | } | 331 | } |
| 332 | 332 | ||
| 333 | return; | 333 | goto done; |
| 334 | } | 334 | } |
| 335 | 335 | ||
| 336 | /* Did we come from a system call? */ | 336 | /* Did we come from a system call? */ |
| @@ -358,4 +358,8 @@ void do_signal(struct pt_regs *regs) | |||
| 358 | current_thread_info()->status &= ~TS_RESTORE_SIGMASK; | 358 | current_thread_info()->status &= ~TS_RESTORE_SIGMASK; |
| 359 | sigprocmask(SIG_SETMASK, ¤t->saved_sigmask, NULL); | 359 | sigprocmask(SIG_SETMASK, ¤t->saved_sigmask, NULL); |
| 360 | } | 360 | } |
| 361 | |||
| 362 | done: | ||
| 363 | /* Avoid double syscall restart if there are nested signals. */ | ||
| 364 | regs->faultnum = INT_SWINT_1_SIGRETURN; | ||
| 361 | } | 365 | } |
