env: mmc: Add missing eMMC bootpart restoration to env erase
authorMarek Vasut <marex@denx.de>
Wed, 6 Oct 2021 16:29:53 +0000 (18:29 +0200)
committerTom Rini <trini@konsulko.com>
Mon, 25 Oct 2021 18:29:37 +0000 (14:29 -0400)
commitf47f87f257b790bbc9b071de433324dab2305d7d
tree6527d379bbee61b66c77ddd56ac1b85b7a433307
parent397b35f09794e40d62d5e4f53992e2a711dc8be1
env: mmc: Add missing eMMC bootpart restoration to env erase

If the environment is stored in eMMC hardware boot partition, the environment
driver first stores the currently selected eMMC boot partition, then does the
requested operation, and then restores the original boot partition settings.
In case the environment operation fails, the boot partition settings are also
restored.

The 'env erase' implementation in the MMC environment driver lacks the path
which restores the boot partition. This could lead to various failure modes,
like the system boots the wrong copy of bootloader etc. Fix this by filling
in the missing restoration path.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
env/mmc.c