浏览代码

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 <[email protected]>
Jo-Philipp Wich 5 年之前
父节点
当前提交
a03d6d2fab
共有 2 个文件被更改,包括 5 次插入2 次删除
  1. 1 1
      package/kernel/broadcom-wl/Makefile
  2. 4 1
      package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh

+ 1 - 1
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

+ 4 - 1
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>&-"
 }