I concur that there's something wrong with "mtd -j <jffs> write", as used by sysupgrade when preserving configuration. The CRC in the TRX header is computed before all writes that the CRC protects have completed. I've worked around this problem in my brcm47xx builds by running "mtd fixtrx" as part of the sysupgrade process. Your patch to fix this properly in mtd looks correct to me.
On a related note, I haven't been able to understand why trx_fixup and mtd_fixtrx don't share an implementation, and why the mtd_fixtrx computes a CRC only over a single erase block. _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel