[U-Boot] [PATCHv2] env: Correct case of no sub-init function

Tom Rini trini at konsulko.com
Sun Aug 20 14:27:51 UTC 2017


With the change to the environment code to remove the common init stage
of pointing to the default environment and setting it as valid, combined
with the change to switch gd->env_valid from 0/1/2 to an enum we now
must set env_valid to one of the enum values rather than an int.  And in
this case, not only was setting it to an int wrong, it was now the wrong
value.  Finally, in the case of ENV_IS_NOWHERE we must still say that
our envionrment is invalid after init for things to continue to
function.

Fixes: 7938822a6b75 ("env: Drop common init() functions")
Reported-by: Marek Vasut <marek.vasut at gmail.com>
Reported-by: Andy Shevchenko <andy.shevchenko at gmail.com>
Signed-off-by: Tom Rini <trini at konsulko.com>
---
Changes in v2:
- Also correct env/nowhere.c so that sandbox tests function again.
---
 env/env.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/env/env.c b/env/env.c
index 2b8b9611cfff..8671f13f8d9e 100644
--- a/env/env.c
+++ b/env/env.c
@@ -138,7 +138,7 @@ int env_init(void)
 		ret = drv->init();
 	if (ret == -ENOENT) {
 		gd->env_addr = (ulong)&default_environment[0];
-		gd->env_valid = 0;
+		gd->env_valid = ENV_VALID;
 
 		return 0;
 	} else if (ret) {
-- 
1.9.1



More information about the U-Boot mailing list