aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2020-05-28 13:03:02 +0200
committerJo-Philipp Wich <jo@mein.io>2020-05-28 13:08:14 +0200
commita03d6d2fab13c478a0f6cfc3082bec141f2adcf1 (patch)
treeb94fce66af69cb0b75cc66a1d3512e9eba2e4adf
parent8b8fb79cbf420be08d9d91c76f484ca5222b6fe8 (diff)
downloadupstream-a03d6d2fab13c478a0f6cfc3082bec141f2adcf1.tar.gz
upstream-a03d6d2fab13c478a0f6cfc3082bec141f2adcf1.tar.bz2
upstream-a03d6d2fab13c478a0f6cfc3082bec141f2adcf1.zip
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>
-rw-r--r--package/kernel/broadcom-wl/Makefile2
-rw-r--r--package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh5
2 files changed, 5 insertions, 2 deletions
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>&-"
}