summaryrefslogtreecommitdiff
path: root/arch/arm/kernel/signal.c
diff options
context:
space:
mode:
authorNicolas Pitre <nicolas.pitre@linaro.org>2011-02-21 23:16:08 -0500
committerNicolas Pitre <nicolas.pitre@linaro.org>2011-02-21 23:16:08 -0500
commitfbf6b5852c5f253c1d7ac555fc3ac5827a87c1be (patch)
tree700342a037efcc77ca7ac32cba6b1937070e6e88 /arch/arm/kernel/signal.c
parent89e446a5f7cd4cb92a67630ea880203b3ec0b7da (diff)
parent5a5af730536fbf15fc354980cba2a0400afa6b76 (diff)
Merge remote-tracking branch 'rmk/fixes' into linaro-2.6.38linaro-linux-2.6.38-upstream-22Feb2011
Diffstat (limited to 'arch/arm/kernel/signal.c')
-rw-r--r--arch/arm/kernel/signal.c4
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.