Revert "env: Load env when ENV_IS_NOWHERE is only location selected"

This reverts commit 8d61237edb.

This commit broke environment on literally every board I have access
to, with this revert in place, environment works as it should again.
The problem I observe with this patch is that saved environment in
either SPI NOR or eMMC is never used, the system always falls back
to default environment. The 'saveenv' command does succeed, but then
after reset, the default env is again used.

Furthermore, the commit introduced duplicate code in env_init(), this:
"
	if (!prio) {
		gd->env_addr = (ulong)&default_environment[0];
		gd->env_valid = ENV_INVALID;

		return 0;
	}

	if (ret == -ENOENT) {
		gd->env_addr = (ulong)&default_environment[0];
		gd->env_valid = ENV_INVALID;

		return 0;
	}
"

Furthermore, the commit is missing DCO SoB line.

Also note that upstream does not support UltraZed EG board, so
this might have been a patch pulled from downstream which did
depend on some other downstream behavior.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Felix.Vietmeyer@jila.colorado.edu <felix.vietmeyer@jila.colorado.edu>
Cc: Tom Rini <trini@konsulko.com>
This commit is contained in:
Marek Vasut 2022-04-10 06:46:52 +02:00 committed by Tom Rini
parent 22b7d140fa
commit 5c7399ec90

13
env/env.c vendored
View File

@ -322,18 +322,17 @@ int env_init(void)
debug("%s: Environment %s init done (ret=%d)\n", __func__, debug("%s: Environment %s init done (ret=%d)\n", __func__,
drv->name, ret); drv->name, ret);
if (gd->env_valid == ENV_INVALID)
ret = -ENOENT;
} }
if (!prio) { if (!prio)
gd->env_addr = (ulong)&default_environment[0]; return -ENODEV;
gd->env_valid = ENV_INVALID;
return 0;
}
if (ret == -ENOENT) { if (ret == -ENOENT) {
gd->env_addr = (ulong)&default_environment[0]; gd->env_addr = (ulong)&default_environment[0];
gd->env_valid = ENV_INVALID; gd->env_valid = ENV_VALID;
return 0; return 0;
} }