diff options
author | Rafał Miłecki <rafal@milecki.pl> | 2018-07-15 16:51:41 +0200 |
---|---|---|
committer | Rafał Miłecki <rafal@milecki.pl> | 2018-07-16 23:18:45 +0200 |
commit | 5dca299fabc466183fdc973871b5f66e6ee4252d (patch) | |
tree | 5dc1270a22487ee5cf16471f1e56f3319a4e1737 /package/system/mtd/src/jffs2.c | |
parent | 5889cf70e99fe66bd17a439d8aceabcb5c495437 (diff) | |
download | upstream-5dca299fabc466183fdc973871b5f66e6ee4252d.tar.gz upstream-5dca299fabc466183fdc973871b5f66e6ee4252d.tar.bz2 upstream-5dca299fabc466183fdc973871b5f66e6ee4252d.zip |
mtd: support bad blocks within the mtd_fixtrx()
Reading MTD data with (p)read doesn't return any error when accessing
bad block. As the result, with current code, CRC32 covers "data" stored
in bad blocks.
That behavior doesn't match CFE's one (bootloader simply skips bad
blocks) and may result in:
1) Invalid CRC32
2) CFE refusing to boot firmware with a following error:
Boot program checksum is invalid
Fix that problem by checking every block before reading its content.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 0f54489f754e7bd34e0430c57a11b6a54740d58e)
Diffstat (limited to 'package/system/mtd/src/jffs2.c')
0 files changed, 0 insertions, 0 deletions