diff options
Diffstat (limited to 'arch/arc/kernel/unaligned.c')
| -rw-r--r-- | arch/arc/kernel/unaligned.c | 3 | 
1 files changed, 2 insertions, 1 deletions
| diff --git a/arch/arc/kernel/unaligned.c b/arch/arc/kernel/unaligned.c index abd961f3e763..91ebe382147f 100644 --- a/arch/arc/kernel/unaligned.c +++ b/arch/arc/kernel/unaligned.c @@ -241,8 +241,9 @@ int misaligned_fixup(unsigned long address, struct pt_regs *regs,  	if (state.fault)  		goto fault; +	/* clear any remanants of delay slot */  	if (delay_mode(regs)) { -		regs->ret = regs->bta; +		regs->ret = regs->bta ~1U;  		regs->status32 &= ~STATUS_DE_MASK;  	} else {  		regs->ret += state.instr_len; | 
