提交 c00c29d8 编写于 作者: G Guy Thouret 提交者: Tom Rini

env_eeprom invalidates gd->env_addr by setting it to an offset value

Patch to fix boot hang when using env on i2c eeprom caused by invalid gd->env_addr
Signed-off-by: NGuy Thouret <guy.thouret@wems.co.uk>
Cc: Heiko Schocher <hs@denx.de>
上级 d3bafe32
......@@ -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 */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册