[U-Boot] [PATCH] env_eeprom invalidates gd->env_addr by setting it to an offset value

Guy Thouret guy.thouret at wems.co.uk
Fri Mar 11 14:31:39 CET 2016


Patch to fix boot hang when using env on i2c eeprom caused by invalid gd->env_addr

Signed-off-by: Guy Thouret <guy.thouret at wems.co.uk>
Cc: Heiko Schocher <hs at denx.de>
---
 common/env_eeprom.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/common/env_eeprom.c b/common/env_eeprom.c
index 72b1373..5f63a6c 100644
--- a/common/env_eeprom.c
+++ b/common/env_eeprom.c
@@ -145,11 +145,6 @@ void env_relocate_spec(void)
 			gd->env_valid = 1;
 	}
 
-	if (gd->env_valid == 2)
-		gd->env_addr = off_env[1] + offsetof(env_t, data);
-	else if (gd->env_valid == 1)
-		gd->env_addr = off_env[0] + offsetof(env_t, data);
-
 #else /* CONFIG_ENV_OFFSET_REDUND */
 	ulong crc, len, new;
 	uchar rdbuf[64];
@@ -175,10 +170,8 @@ void env_relocate_spec(void)
 	}
 
 	if (crc == new) {
-		gd->env_addr	= offsetof(env_t, data);
 		gd->env_valid	= 1;
 	} else {
-		gd->env_addr	= 0;
 		gd->env_valid	= 0;
 	}
 #endif /* CONFIG_ENV_OFFSET_REDUND */
-- 
2.5.0



More information about the U-Boot mailing list