diff options
Diffstat (limited to 'arch/mips/kernel/signal32.c')
| -rw-r--r-- | arch/mips/kernel/signal32.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/mips/kernel/signal32.c b/arch/mips/kernel/signal32.c index f32a22997c3d..c86a5ddff050 100644 --- a/arch/mips/kernel/signal32.c +++ b/arch/mips/kernel/signal32.c | |||
| @@ -815,9 +815,6 @@ void do_signal32(struct pt_regs *regs) | |||
| 815 | if (!user_mode(regs)) | 815 | if (!user_mode(regs)) |
| 816 | return; | 816 | return; |
| 817 | 817 | ||
| 818 | if (try_to_freeze()) | ||
| 819 | goto no_signal; | ||
| 820 | |||
| 821 | if (test_thread_flag(TIF_RESTORE_SIGMASK)) | 818 | if (test_thread_flag(TIF_RESTORE_SIGMASK)) |
| 822 | oldset = ¤t->saved_sigmask; | 819 | oldset = ¤t->saved_sigmask; |
| 823 | else | 820 | else |
| @@ -836,9 +833,10 @@ void do_signal32(struct pt_regs *regs) | |||
| 836 | if (test_thread_flag(TIF_RESTORE_SIGMASK)) | 833 | if (test_thread_flag(TIF_RESTORE_SIGMASK)) |
| 837 | clear_thread_flag(TIF_RESTORE_SIGMASK); | 834 | clear_thread_flag(TIF_RESTORE_SIGMASK); |
| 838 | } | 835 | } |
| 836 | |||
| 837 | return; | ||
| 839 | } | 838 | } |
| 840 | 839 | ||
| 841 | no_signal: | ||
| 842 | /* | 840 | /* |
| 843 | * Who's code doesn't conform to the restartable syscall convention | 841 | * Who's code doesn't conform to the restartable syscall convention |
| 844 | * dies here!!! The li instruction, a single machine instruction, | 842 | * dies here!!! The li instruction, a single machine instruction, |
| @@ -856,6 +854,7 @@ no_signal: | |||
| 856 | regs->regs[7] = regs->regs[26]; | 854 | regs->regs[7] = regs->regs[26]; |
| 857 | regs->cp0_epc -= 4; | 855 | regs->cp0_epc -= 4; |
| 858 | } | 856 | } |
| 857 | regs->regs[0] = 0; /* Don't deal with this again. */ | ||
| 859 | } | 858 | } |
| 860 | 859 | ||
| 861 | /* | 860 | /* |
