mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
env: Fix default environment saving issue
When CONFIG_SYS_REDUNDAND_ENVIRONMENT is enabled, by default env is getting saved to redundant environment irrespective of primary env is present or not. It means even if primary and redundant environment are not present, by default, env is getting stored to redundant environment. Even if primary env is present, it is choosing to store in redudndant env. Ideally it should look for primary env and choose to store in primary env if it is present. If both primary and redundant env are not present then it should save in to primary env area. Fix the issue by making env_valid = ENV_INVALID when both the environments are not present. Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@amd.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
3430f24bc6
commit
4dc5e26242
1 changed files with 1 additions and 0 deletions
1
env/common.c
vendored
1
env/common.c
vendored
|
@ -353,6 +353,7 @@ int env_check_redund(const char *buf1, int buf1_read_fail,
|
||||||
tmp_env2->crc;
|
tmp_env2->crc;
|
||||||
|
|
||||||
if (!crc1_ok && !crc2_ok) {
|
if (!crc1_ok && !crc2_ok) {
|
||||||
|
gd->env_valid = ENV_INVALID;
|
||||||
return -ENOMSG; /* needed for env_load() */
|
return -ENOMSG; /* needed for env_load() */
|
||||||
} else if (crc1_ok && !crc2_ok) {
|
} else if (crc1_ok && !crc2_ok) {
|
||||||
gd->env_valid = ENV_VALID;
|
gd->env_valid = ENV_VALID;
|
||||||
|
|
Loading…
Reference in a new issue