From: Chris Metcalf Date: Fri, 25 Jun 2010 21:02:40 +0000 (-0400) Subject: arch/tile: Fix bug in support for atomic64_xx() ops. X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=2db098278118ed58f4b407ceda691e349df043ce;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git arch/tile: Fix bug in support for atomic64_xx() ops. This wasn't properly tested until the perf-event subsystem started to get brought up under the tile architecture. The bug caused bogus atomic64_cmpxchg() values to be returned, among other things. Signed-off-by: Chris Metcalf Acked-by: Arnd Bergmann --- diff --git a/arch/tile/lib/atomic_asm_32.S b/arch/tile/lib/atomic_asm_32.S index c0d058578192..5a5514b77e78 100644 --- a/arch/tile/lib/atomic_asm_32.S +++ b/arch/tile/lib/atomic_asm_32.S @@ -89,11 +89,11 @@ STD_ENTRY_SECTION(__atomic\name, .text.atomic) lh r22, r0 .else lw r22, r0 - addi r23, r0, 4 + addi r28, r0, 4 .endif } .ifc \bitwidth,64 - lw r23, r23 + lw r23, r28 .endif \body /* set r24, and r25 if 64-bit */ { @@ -109,11 +109,10 @@ STD_ENTRY_SECTION(__atomic\name, .text.atomic) sh r0, r24 .else sw r0, r24 - addi r23, r0, 4 .endif } .ifc \bitwidth,64 - sw r23, r25 + sw r28, r25 .endif mf 3: {