diff options
Diffstat (limited to 'arch/arm/kernel/signal.c')
| -rw-r--r-- | arch/arm/kernel/signal.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c index 907d5a620bc..abaf8445ce2 100644 --- a/arch/arm/kernel/signal.c +++ b/arch/arm/kernel/signal.c @@ -474,7 +474,9 @@ setup_return(struct pt_regs *regs, struct k_sigaction *ka,  	unsigned long handler = (unsigned long)ka->sa.sa_handler;  	unsigned long retcode;  	int thumb = 0; -	unsigned long cpsr = regs->ARM_cpsr & ~PSR_f; +	unsigned long cpsr = regs->ARM_cpsr & ~(PSR_f | PSR_E_BIT); + +	cpsr |= PSR_ENDSTATE;  	/*  	 * Maybe we need to deliver a 32-bit signal to a 26-bit task.  |