diff options
Diffstat (limited to 'arch/nios2/kernel/signal.c')
| -rw-r--r-- | arch/nios2/kernel/signal.c | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/nios2/kernel/signal.c b/arch/nios2/kernel/signal.c index cb0b91589cf2..a5b93a30c6eb 100644 --- a/arch/nios2/kernel/signal.c +++ b/arch/nios2/kernel/signal.c @@ -242,7 +242,7 @@ static int do_signal(struct pt_regs *regs)  	/*  	 * If we were from a system call, check for system call restarting...  	 */ -	if (regs->orig_r2 >= 0) { +	if (regs->orig_r2 >= 0 && regs->r1) {  		continue_addr = regs->ea;  		restart_addr = continue_addr - 4;  		retval = regs->r2; @@ -264,6 +264,7 @@ static int do_signal(struct pt_regs *regs)  			regs->ea = restart_addr;  			break;  		} +		regs->orig_r2 = -1;  	}  	if (get_signal(&ksig)) {  | 
