From: Rabin Vincent Date: Wed, 7 Apr 2010 17:10:20 +0000 (+0100) Subject: ARM: 6031/1: fix Thumb-2 decompressor X-Git-Tag: firefly_0821_release~10186^2~1831 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=22ae5dd50967f1b9fb6c59715760a139f6e7e67c;p=firefly-linux-kernel-4.4.55.git ARM: 6031/1: fix Thumb-2 decompressor commit d4d9959c099751158c5cf14813fe378e206339c6 upstream. 98e12b5a6e05413 ("ARM: Fix decompressor's kernel size estimation for ROM=y") broke the Thumb-2 decompressor because it added an entry in the LC0 table but didn't adjust the offset the Thumb-2 code uses to load the SP from that table. Fix it. Signed-off-by: Rabin Vincent Signed-off-by: Russell King Signed-off-by: Greg Kroah-Hartman --- diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index 3cb8fa3edb0f..61b3a336e28d 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -164,7 +164,7 @@ not_angel: adr r0, LC0 ARM( ldmia r0, {r1, r2, r3, r4, r5, r6, r11, ip, sp}) THUMB( ldmia r0, {r1, r2, r3, r4, r5, r6, r11, ip} ) - THUMB( ldr sp, [r0, #28] ) + THUMB( ldr sp, [r0, #32] ) subs r0, r0, r1 @ calculate the delta offset @ if delta is zero, we are