From: Michael Weiss Date: Thu, 20 May 2010 14:09:35 +0000 (+0200) Subject: powerpc/bootcount: Fix endianness problem X-Git-Tag: v2010.06-rc1~5 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=59dde44acb82e571808190ccd3cd6b82dc9d7001;p=u-boot powerpc/bootcount: Fix endianness problem For CONFIG_SYS_BOOTCOUNT_SINGLEWORD the code had an endianness problem. Signed-off-by: Michael Weiss Signed-off-by: Detlev Zundel --- diff --git a/arch/powerpc/lib/bootcount.c b/arch/powerpc/lib/bootcount.c index 6346527677..338c8486d7 100644 --- a/arch/powerpc/lib/bootcount.c +++ b/arch/powerpc/lib/bootcount.c @@ -77,10 +77,12 @@ ulong bootcount_load(void) void *reg = (void *)CONFIG_SYS_BOOTCOUNT_ADDR; #if defined(CONFIG_SYS_BOOTCOUNT_SINGLEWORD) - if (in_be16(reg + 2) != (BOOTCOUNT_MAGIC & 0xffff)) + u32 tmp = in_be32(reg); + + if ((tmp & 0xffff0000) != (BOOTCOUNT_MAGIC & 0xffff0000)) return 0; else - return in_be16(reg); + return (tmp & 0x0000ffff); #else if (in_be32(reg + 4) != BOOTCOUNT_MAGIC) return 0;