Browse Source

br2684ctl: resolve a boot time race condition with nas0 bringup by using explicit notification when init is done

Signed-off-by: Felix Fietkau <[email protected]>

SVN-Revision: 48321
Felix Fietkau 10 years ago
parent
commit
f6e38ec125

+ 2 - 2
package/network/utils/linux-atm/Makefile

@@ -178,10 +178,10 @@ define Package/atm-diagnostics/install
 endef
 
 define Package/br2684ctl/install
-	$(INSTALL_DIR) $(1)/etc/init.d $(1)/etc/hotplug.d/atm
+	$(INSTALL_DIR) $(1)/etc/init.d $(1)/etc/hotplug.d/atm $(1)/usr/sbin $(1)/lib/netifd
+	$(INSTALL_BIN) ./files/br2684-up $(1)/lib/netifd/br2684-up
 	$(INSTALL_BIN) ./files/br2684ctl $(1)/etc/init.d/
 	$(INSTALL_DATA) ./files/atm.hotplug $(1)/etc/hotplug.d/atm/00-trigger
-	$(INSTALL_DIR) $(1)/usr/sbin
 	$(INSTALL_BIN) \
 		./files/br2684ctl_wrap \
 		$(PKG_INSTALL_DIR)/usr/sbin/br2684ctl \

+ 3 - 0
package/network/utils/linux-atm/files/br2684-up

@@ -0,0 +1,3 @@
+#!/bin/sh
+. /lib/functions/network.sh
+network_ready_device "$1"

+ 2 - 11
package/network/utils/linux-atm/files/br2684ctl

@@ -60,20 +60,11 @@ start_daemon() {
 	procd_set_param command \
 		/usr/sbin/br2684ctl_wrap "nas$unit" \
 		-c "$unit" -e "$encaps" -p "$payload" \
-		-a "$circuit" ${qos:+-q "$qos"} ${sendsize:+-s "$sendsize"}
+		-a "$circuit" ${qos:+-q "$qos"} ${sendsize:+-s "$sendsize"} \
+		-S /lib/netifd/br2684-up
 	procd_close_instance
 }
 
-service_running() {
-	. /lib/functions/network.sh
-
-	sleep 1
-	for path in /sys/class/net/nas*; do
-		dev="${path##*/}"
-		network_ready_device "$dev"
-	done
-}
-
 service_triggers() {
 	local script=$(readlink "$initscript")
 	local name=$(basename ${script:-$initscript})