]> git.ipfire.org Git - thirdparty/u-boot.git/commit
env: Invert gd->env_valid for env_mmc_save 815/head
authorJasper Orschulko <jasper@fancydomain.eu>
Fri, 10 May 2024 11:38:34 +0000 (13:38 +0200)
committerTom Rini <trini@konsulko.com>
Tue, 21 Oct 2025 19:18:46 +0000 (13:18 -0600)
commit813a0df27a8af587bd25a6a4719f68066b370091
tree1eeeabfac84d9b92d0b2cc1e062f887dcd540dee
parent0f865ab5d68484b4dc1724809de1be06edc85df1
env: Invert gd->env_valid for env_mmc_save

The A/B update strategy of the env's has a gap in the first 2 calls of saveenv.
The env's are stored twice on the first memory area if:
gd->env_valid == ENV_INVALID.

u-boot=> saveenv
Saving Environment to MMC... Writing to MMC(1)... OK
u-boot=> saveenv
Saving Environment to MMC... Writing to MMC(1)... OK  <-- !!!
u-boot=> saveenv
Saving Environment to MMC... Writing to redundant MMC(1)... OK
u-boot=> saveenv
Saving Environment to MMC... Writing to MMC(1)... OK

This is the same issue as resolved in commit e589d5822cac ("env: spi:
Fix gd->env_valid for the first write")

Signed-off-by: Michael Glembotzki <Michael.Glembotzki@iris-sensing.com>
Signed-off-by: Jasper Orschulko <jasper@fancydomain.eu>
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
[trini: Amend the commit message]
---
Changes in v2:
- Rebase to current master
- Amend the commit message to reference the SPI version of this fix,
  which had significant follow-up discussion.
env/mmc.c