
Wolfgang Denk wrote:
In case you have an EEPROM with correct layout (CRC at 0xFC) but incorrect CRC, you will access random data and interpret this as CRC. This is provoking undefined behaviour.
True, but it doesn't matter. The EEPROM is not that important, and the odds of screwing this up is one in four billion.
If you want, then rather provide an update tool that theuser can use (manually!) to update, but this should be done once, and with explicit confirmation from the user, never automagically.
Considering how unimportant the EEPROM really is, I don't see the point in making it so complicated. We already automagically upgrade the board from NXID v0 to NXID v1. Now we automagically fix boards that have the CRC in the wrong place.
Anyway, I don't see why it's so controversial. This code is only used on a small number of Freescale reference boards.