On 5/24/2017 4:48 AM, Geert Uytterhoeven wrote:
On Tue, May 23, 2017 at 11:45 PM, Babu Moger <babu.mo...@oracle.com> wrote:
Found this problem while enabling queued rwlock on SPARC.
The parameter CONFIG_CPU_BIG_ENDIAN is used to clear the
specific byte in qrwlock structure. Without this parameter,
we clear the wrong byte. Here is the code.

static inline u8 *__qrwlock_write_byte(struct qrwlock *lock)
  {
         return (u8 *)lock + 3 * IS_BUILTIN(CONFIG_CPU_BIG_ENDIAN);
  }

Define CPU_BIG_ENDIAN for SPARC to fix it.

Signed-off-by: Babu Moger <babu.mo...@oracle.com>
Reviewed-by: HÃ¥kon Bugge <haakon.bu...@oracle.com>
Reviewed-by: Jane Chu <jane....@oracle.com>
Reviewed-by: Shannon Nelson <shannon.nel...@oracle.com>
Reviewed-by: Vijay Kumar <vijay.ac.ku...@oracle.com>
---
  arch/sparc/Kconfig |    4 ++++
  1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index 908f019..2f58c16 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -92,6 +92,10 @@ config ARCH_DEFCONFIG
  config ARCH_PROC_KCORE_TEXT
         def_bool y

+config CPU_BIG_ENDIAN
+       bool
+       default y if SPARC
def_bool y?

Ok.  Sure.  Will change it. Thanks

Gr{oetje,eeting}s,

                         Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                 -- Linus Torvalds

Reply via email to