[PATCH] env: Fix default environment saving issue

Michal Simek michal.simek at amd.com
Tue Jul 18 11:12:55 CEST 2023



On 7/4/23 08:16, Ashok Reddy Soma wrote:
> 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 at amd.com>
> ---
> 
>   env/common.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/env/common.c b/env/common.c
> index 8beb8e6aa4..0ecdb248a0 100644
> --- a/env/common.c
> +++ b/env/common.c
> @@ -353,6 +353,7 @@ int env_check_redund(const char *buf1, int buf1_read_fail,
>   				tmp_env2->crc;
>   
>   	if (!crc1_ok && !crc2_ok) {
> +		gd->env_valid = ENV_INVALID;
>   		return -ENOMSG; /* needed for env_load() */
>   	} else if (crc1_ok && !crc2_ok) {
>   		gd->env_valid = ENV_VALID;

Applied.
M


More information about the U-Boot mailing list