From 4a12cae7ef2612eb094c4b48e8b37cf837e3df55 Mon Sep 17 00:00:00 2001 From: Catalin Marinas Date: Fri, 25 Oct 2013 15:48:33 +0100 Subject: [PATCH] arm64: Fix the endianness of arch_spinlock_t The owner and next members of the arch_spinlock_t structure need to be swapped when compiling for big endian. Signed-off-by: Catalin Marinas Reported-by: Matthew Leach Acked-by: Will Deacon --- arch/arm64/include/asm/spinlock_types.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm64/include/asm/spinlock_types.h b/arch/arm64/include/asm/spinlock_types.h index 87692750ed94..b8d383665f56 100644 --- a/arch/arm64/include/asm/spinlock_types.h +++ b/arch/arm64/include/asm/spinlock_types.h @@ -23,8 +23,13 @@ #define TICKET_SHIFT 16 typedef struct { +#ifdef __AARCH64EB__ + u16 next; + u16 owner; +#else u16 owner; u16 next; +#endif } __aligned(4) arch_spinlock_t; #define __ARCH_SPIN_LOCK_UNLOCKED { 0 , 0 }