In case the env storage driver marks environment as ENV_INVALID, we must
reset the $ret return value to -ENOENT to let the env init code reset the
environment to the default one a bit further down.

Signed-off-by: Marek Vasut <ma...@denx.de>
---
 env/env.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/env/env.c b/env/env.c
index dcc25c030b..024d36fdbe 100644
--- a/env/env.c
+++ b/env/env.c
@@ -300,6 +300,9 @@ int env_init(void)
 
                debug("%s: Environment %s init done (ret=%d)\n", __func__,
                      drv->name, ret);
+
+               if (gd->env_valid == ENV_INVALID)
+                       ret = -ENOENT;
        }
 
        if (!prio)
-- 
2.25.1

Reply via email to