summaryrefslogtreecommitdiff
path: root/arch/mips
diff options
context:
space:
mode:
authorKarl Beldan <karl.beldan@gmail.com>2017-06-27 19:22:16 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-07-05 12:40:17 (GMT)
commit3d4ac49a9538c36d9c3c121ddbcb4c3958dee5e9 (patch)
tree8cc04c1fe9653e50132af97c855513ddb05a4e0d /arch/mips
parentb1355226a64e6301ca63aee1e78728887e3527f1 (diff)
downloadlinux-3d4ac49a9538c36d9c3c121ddbcb4c3958dee5e9.tar.xz
MIPS: head: Reorder instructions missing a delay slot
commit 25d8b92e0af75d72ce8b99e63e5a449cc0888efa upstream. In this sequence the 'move' is assumed in the delay slot of the 'beq', but head.S is in reorder mode and the former gets pushed one 'nop' farther by the assembler. The corrected behavior made booting with an UHI supplied dtb erratic. Fixes: 15f37e158892 ("MIPS: store the appended dtb address in a variable") Signed-off-by: Karl Beldan <karl.beldan+oss@gmail.com> Reviewed-by: James Hogan <james.hogan@imgtec.com> Cc: Jonas Gorski <jogo@openwrt.org> Cc: linux-mips@linux-mips.org Cc: linux-kernel@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/16614/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/kernel/head.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/mips/kernel/head.S b/arch/mips/kernel/head.S
index cf05220..d1bb506 100644
--- a/arch/mips/kernel/head.S
+++ b/arch/mips/kernel/head.S
@@ -106,8 +106,8 @@ NESTED(kernel_entry, 16, sp) # kernel entry point
beq t0, t1, dtb_found
#endif
li t1, -2
- beq a0, t1, dtb_found
move t2, a1
+ beq a0, t1, dtb_found
li t2, 0
dtb_found: