]> git.dujemihanovic.xyz Git - u-boot.git/commit
Revert "env: add spi_flash_read_env function"
authorHeiko Schocher <hs@denx.de>
Wed, 13 Mar 2019 11:15:45 +0000 (12:15 +0100)
committerTom Rini <trini@konsulko.com>
Thu, 14 Mar 2019 00:32:09 +0000 (20:32 -0400)
commit9ba5e5bc261a16f51662490da0cf620dc7f29013
tree3390b3e1c390be6cd10bacad1c80db324b039583
parenta0d12cd2392af52000790739df3fc8ddbd4db460
Revert "env: add spi_flash_read_env function"

This reverts commit 9a9d66f5eff0f443de4c2c6ca3e27771ed14b1b4.

because it breaks fw_setenv and U-Boot interworking, if
U-Boot environment is stored in a SPI-NOR.

Reproduce it with:
boot linux with empty Environment and store a variable
with fw_setenv into it, the Environment is now filled
with 0xff:

root@ckey5e:10:8e:~# hexdump -C /dev/mtd4
00000000  e9 e8 07 fa 01 62 6f 6f  74 63 6d 64 3d 72 75 6e  |.....bootcmd=run|
[...]
00000f30  7d 00 75 62 69 62 6f 6f  74 76 6f 6c 3d 32 00 00  |}.ubibootvol=2..|
00000f40  00 ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|

Boot now U-Boot prints:

Loading Environment from SPI Flash... SF: Detected s25fl128l with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment

Reason is the above commit, as it only reads until \0\0
is found, and assumes the rest of the Environment
space is filled with 0x00, which is not the case when
saving an Environment under linux with fw_setenv.

Signed-off-by: Heiko Schocher <hs@denx.de>
Acked-by: Stefano Babic <sbabic@denx.de>
env/sf.c