diff options
Diffstat (limited to 'arch/ppc/kernel/signal.c')
-rw-r--r-- | arch/ppc/kernel/signal.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/arch/ppc/kernel/signal.c b/arch/ppc/kernel/signal.c index 9567d3041ea7..645eae19805c 100644 --- a/arch/ppc/kernel/signal.c +++ b/arch/ppc/kernel/signal.c | |||
@@ -708,7 +708,6 @@ int do_signal(sigset_t *oldset, struct pt_regs *regs) | |||
708 | if (current->flags & PF_FREEZE) { | 708 | if (current->flags & PF_FREEZE) { |
709 | refrigerator(PF_FREEZE); | 709 | refrigerator(PF_FREEZE); |
710 | signr = 0; | 710 | signr = 0; |
711 | ret = regs->gpr[3]; | ||
712 | if (!signal_pending(current)) | 711 | if (!signal_pending(current)) |
713 | goto no_signal; | 712 | goto no_signal; |
714 | } | 713 | } |
@@ -719,7 +718,7 @@ int do_signal(sigset_t *oldset, struct pt_regs *regs) | |||
719 | newsp = frame = 0; | 718 | newsp = frame = 0; |
720 | 719 | ||
721 | signr = get_signal_to_deliver(&info, &ka, regs, NULL); | 720 | signr = get_signal_to_deliver(&info, &ka, regs, NULL); |
722 | 721 | no_signal: | |
723 | if (TRAP(regs) == 0x0C00 /* System Call! */ | 722 | if (TRAP(regs) == 0x0C00 /* System Call! */ |
724 | && regs->ccr & 0x10000000 /* error signalled */ | 723 | && regs->ccr & 0x10000000 /* error signalled */ |
725 | && ((ret = regs->gpr[3]) == ERESTARTSYS | 724 | && ((ret = regs->gpr[3]) == ERESTARTSYS |
@@ -735,7 +734,6 @@ int do_signal(sigset_t *oldset, struct pt_regs *regs) | |||
735 | regs->gpr[3] = EINTR; | 734 | regs->gpr[3] = EINTR; |
736 | /* note that the cr0.SO bit is already set */ | 735 | /* note that the cr0.SO bit is already set */ |
737 | } else { | 736 | } else { |
738 | no_signal: | ||
739 | regs->nip -= 4; /* Back up & retry system call */ | 737 | regs->nip -= 4; /* Back up & retry system call */ |
740 | regs->result = 0; | 738 | regs->result = 0; |
741 | regs->trap = 0; | 739 | regs->trap = 0; |