From: John Crispin <john@openwrt.org>
Date: Fri, 31 Oct 2014 11:00:42 +0000 (+0000)
Subject: lantiq: vr9-vdsl-fw: properly write firmware to flash
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=1183af0c48998a73595b92381ce0ba39aec19951;p=openwrt%2Fstaging%2Fnbd.git

lantiq: vr9-vdsl-fw: properly write firmware to flash

Using a redirect to a non-empty mtd partition will not erase the
blocks prior to writing to them resulting in broken dsl_fw.
Fix this by piping to mtd write - /dev/mtdX instead.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

SVN-Revision: 43125
---

diff --git a/package/kernel/lantiq/ltq-vdsl-fw/src/vdsl_fw_install.sh b/package/kernel/lantiq/ltq-vdsl-fw/src/vdsl_fw_install.sh
index 63ed948687..858e8f1aed 100755
--- a/package/kernel/lantiq/ltq-vdsl-fw/src/vdsl_fw_install.sh
+++ b/package/kernel/lantiq/ltq-vdsl-fw/src/vdsl_fw_install.sh
@@ -49,7 +49,7 @@ D=`md5sum -b ${FW_DSL} | cut -d" " -f1`
 MTD=$(find_mtd_index dsl_fw)
 if [ "$MTD" -gt 0 -a -e "/dev/mtd$MTD" ]; then
 	echo "Storing firmware in flash"
-	tar cvz ${FW_TAPI} ${FW_DSL} > "/dev/mtd$MTD"
+	tar cvz ${FW_TAPI} ${FW_DSL} | mtd write - "/dev/mtd$MTD"
 	/etc/init.d/dsl_fs boot
 else
 	cp ${FW_TAPI} ${FW_DSL} /lib/firmware/