bcm53xx: calculate TRX CRC32 using whole kernel partition
[openwrt/openwrt.git] / target / linux / bcm53xx / base-files / etc / uci-defaults / 09_fix_crc
index 3d148274828a0110446ca90dd4de68323cec81b5..2959905e819d3dd4ef8dd91334b6e8d92623495c 100644 (file)
@@ -1,3 +1,8 @@
 #!/bin/sh
 
-mtd fixtrx firmware || mtd fixseama firmware
+kernel_size=$(sed -n 's/mtd[0-9]*: \([0-9a-f]*\).*"\(kerel\|liux\)".*/\1/p' /proc/mtd)
+[ -n "$kernel_size" ] && kernel_size=$((0x$kernel_size))
+
+mtd ${kernel_size:+-c $kernel_size} fixtrx firmware && exit 0
+mtd fixseama firmware && exit 0
+exit 1