aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc23
1 files changed, 20 insertions, 3 deletions
diff --git a/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc b/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc
index eae84bb771..89ce8970d7 100644
--- a/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc
+++ b/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc
@@ -1,5 +1,22 @@
+. /lib/functions.sh
+
+board=$(board_name)
+
kernel_size=$(sed -n 's/mtd[0-9]*: \([0-9a-f]*\).*"\(kernel\|linux\)".*/\1/p' /proc/mtd)
-mtd ${kernel_size:+-c 0x$kernel_size} fixtrx firmware && exit 0
-mtd ${kernel_size:+-c 0x$kernel_size} fixseama firmware && exit 0
-exit 1
+fixtrx() {
+ mtd ${kernel_size:+-c 0x$kernel_size} fixtrx firmware && exit 0
+}
+
+fixseama() {
+ mtd ${kernel_size:+-c 0x$kernel_size} fixseama firmware && exit 0
+}
+
+case "$board" in
+dlink,dir-885l)
+ fixseama
+ ;;
+*)
+ fixtrx
+ ;;
+esac