mediatek: mt7622: improve fixup of trx for Buffalo devices
authorINAGAKI Hiroshi <musashino.open@gmail.com>
Sat, 28 Dec 2024 08:38:11 +0000 (17:38 +0900)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 4 Jan 2025 17:55:31 +0000 (18:55 +0100)
Unify the common part to the function and don't fixup trx when booting
with initramfs image.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17408
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
target/linux/mediatek/mt7622/base-files/etc/uci-defaults/09_fix_crc

index 59b00a6e69b00b487da2ce4c1507f98c910c80bb..25c8a0359ba0934ea8e22c94fab80096e3f7bc62 100644 (file)
@@ -1,14 +1,22 @@
 . /lib/functions.sh
 
-kernel_size=$(sed -n 's/mtd[0-9]*: \([0-9a-f]*\).*"\(kernel\|linux\)".*/\1/p' /proc/mtd)
+# don't modify FW data when booting with initramfs image
+fstype="$(/bin/mount | awk '($3 ~ /^\/$/) && ($5 !~ /rootfs/) { print $5 }')"
+[ "$fstype" = "tmpfs" ] && \
+       exit 0
+
+fixup_trx_crc() {
+       local trx_magic="$1"
+       local kernel_size=$(sed -n 's/mtd[0-9]*: \([0-9a-f]*\).*"\(kernel\|linux\)".*/\1/p' /proc/mtd)
+
+       mtd -M $trx_magic ${kernel_size:+-c 0x$kernel_size} fixtrx firmware
+}
 
 case "$(board_name)" in
 buffalo,wsr-2533dhp2)
-       mtd -M 0x44485032 ${kernel_size:+-c 0x$kernel_size} fixtrx firmware && exit 0
-       exit 1
+       fixup_trx_crc 0x44485032
        ;;
 buffalo,wsr-3200ax4s)
-       mtd -M 0x44485033 ${kernel_size:+-c 0x$kernel_size} fixtrx firmware && exit 0
-       exit 1
+       fixup_trx_crc 0x44485033
        ;;
 esac