| From: Vineet Gupta <Vineet.Gupta1@synopsys.com> |
| Date: Tue, 7 Feb 2017 09:44:58 -0800 |
| Subject: ARC: [arcompact] brown paper bag bug in unaligned access delay slot |
| fixup |
| |
| commit a524c218bc94c705886a0e0fedeee45d1931da32 upstream. |
| |
| Reported-by: Jo-Philipp Wich <jo@mein.io> |
| Fixes: 9aed02feae57bf7 ("ARC: [arcompact] handle unaligned access delay slot") |
| Cc: linux-kernel@vger.kernel.org |
| Cc: linux-snps-arc@lists.infradead.org |
| Signed-off-by: Vineet Gupta <vgupta@synopsys.com> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| arch/arc/kernel/unaligned.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/arch/arc/kernel/unaligned.c |
| +++ b/arch/arc/kernel/unaligned.c |
| @@ -242,7 +242,7 @@ int misaligned_fixup(unsigned long addre |
| |
| /* clear any remanants of delay slot */ |
| if (delay_mode(regs)) { |
| - regs->ret = regs->bta ~1U; |
| + regs->ret = regs->bta & ~1U; |
| regs->status32 &= ~STATUS_DE_MASK; |
| } else { |
| regs->ret += state.instr_len; |