From: John Crispin <john@openwrt.org>
Date: Mon, 19 Oct 2015 10:08:56 +0000 (+0000)
Subject: lantiq: Synchronize access to the DSL command pipe
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=e1d585d99fda52cd6621cb73cd73765a915e2d2f;p=openwrt%2Fstaging%2Fnbd.git

lantiq: Synchronize access to the DSL command pipe

Whenever two processes were executing different commands at the same
time then one of the commands sometimes got the response of the other
command.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 47213
---

diff --git a/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh b/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh
index dbeb344cde..22e65cb148 100755
--- a/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh
+++ b/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh
@@ -12,8 +12,10 @@ fi
 #
 dsl_cmd() {
 	killall -0 ${XDSL_CTRL} && (
+		lock /var/lock/dsl_pipe
 		echo "$@" > /tmp/pipe/dsl_cpe0_cmd
 		cat /tmp/pipe/dsl_cpe0_ack
+		lock -u /var/lock/dsl_pipe
 	)
 }
 dsl_val() {