From: Tom Rini Date: Tue, 21 Oct 2025 20:37:01 +0000 (-0600) Subject: env: fat, ubi: Fix gd->env_valid for the first write X-Git-Tag: v2026.01-rc1~8 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cf262e16080abcd587f47d0bbc8fa84558abcf89;p=pandora-u-boot.git env: fat, ubi: Fix gd->env_valid for the first write As resolved and explained in detail in commit e589d5822cac ("env: spi: Fix gd->env_valid for the first write") and archived discussion there is a corner case where we don't do the right thing with redundant environments. This same exact check was present in the mmc code and resolved with commit 813a0df27a8a ("env: Invert gd->env_valid for env_mmc_save") and in the discussion of that patch, I noted that both fat and ubi (and at the time, sf) were doing the same thing. Take the time now to correct fat and ubi environment. Signed-off-by: Tom Rini --- diff --git a/env/fat.c b/env/fat.c index 58c279ff769..7e164822383 100644 --- a/env/fat.c +++ b/env/fat.c @@ -104,7 +104,7 @@ static int env_fat_save(void) } #ifdef CONFIG_ENV_REDUNDANT - gd->env_valid = (gd->env_valid == ENV_REDUND) ? ENV_VALID : ENV_REDUND; + gd->env_valid = gd->env_valid == ENV_VALID ? ENV_REDUND : ENV_VALID; #endif return 0; diff --git a/env/ubi.c b/env/ubi.c index f424b1a16e8..59bd96feb48 100644 --- a/env/ubi.c +++ b/env/ubi.c @@ -72,7 +72,7 @@ static int env_ubi_save(void) puts("done\n"); - gd->env_valid = gd->env_valid == ENV_REDUND ? ENV_VALID : ENV_REDUND; + gd->env_valid = gd->env_valid == ENV_VALID ? ENV_REDUND : ENV_VALID; return 0; }