[U-Boot] [PATCH] tools/env: Fix environment size and CRC on 64-bit hosts

Dominic Sacré dominic.sacre at gmx.de
Wed Nov 5 00:30:18 CET 2014


On architectures where 'long' is 64 bit, the u-boot environment
as seen by the fw_env tools was missing 4 bytes.
This patch fixes getenvsize(), and thus also ensures that the
environment's CRC32 checksum is calculated correctly.

Signed-off-by: Dominic Sacré <dominic.sacre at gmx.de>
Cc: Wolfgang Denk <wd at denx.de>
Cc: Tom Rini <trini at ti.com>
---
 tools/env/fw_env.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c
index 30d5b03..1173eea 100644
--- a/tools/env/fw_env.c
+++ b/tools/env/fw_env.c
@@ -125,7 +125,7 @@ static int get_config (char *);
 #endif
 static inline ulong getenvsize (void)
 {
-	ulong rc = CUR_ENVSIZE - sizeof(long);
+	ulong rc = CUR_ENVSIZE - sizeof(uint32_t);
 
 	if (HaveRedundEnv)
 		rc -= sizeof (char);
-- 
2.1.3



More information about the U-Boot mailing list