From: Jo-Philipp Wich <jo@mein.io>
Date: Thu, 28 May 2020 11:03:02 +0000 (+0200)
Subject: broadcom-wl: don't inherit lock descriptor in nas process
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=a03d6d2fab13c478a0f6cfc3082bec141f2adcf1;p=openwrt%2Fstaging%2Fldir.git

broadcom-wl: don't inherit lock descriptor in nas process

Add a local hack to prevent the Broadcom WPA authenticator process from
inheriting the lock descriptor 1000 used to prevent concurrent executions
of the init script.

Without this fix, repeated invocations of /etc/init.d/network, e.g. for
obtaining the enabled state, would hang forever.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
---

diff --git a/package/kernel/broadcom-wl/Makefile b/package/kernel/broadcom-wl/Makefile
index a3d7b5f1bb..1ed5012b88 100644
--- a/package/kernel/broadcom-wl/Makefile
+++ b/package/kernel/broadcom-wl/Makefile
@@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=broadcom-wl
 PKG_VERSION:=5.10.56.27.3
-PKG_RELEASE:=8
+PKG_RELEASE:=9
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(ARCH).tar.bz2
 PKG_SOURCE_URL:=http://downloads.openwrt.org/sources
diff --git a/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh b/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh
index 3643f6b1c6..33447341b2 100644
--- a/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh
+++ b/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh
@@ -443,7 +443,10 @@ EOF
 	txpower=${txpower:-$vif_txpower}
 	[ -z "$txpower" ] || iwconfig $device txpower ${txpower}dBm
 
-	eval "$nas_cmd"
+	# fd 1000 is an inherited lock file descriptor for preventing concurrent
+	# init script executions. Close it here to prevent the nas daemon from
+	# inheriting it further to avoid holding the lock indefinitely.
+	eval "$nas_cmd 1000>&-"
 }