From f6e38ec125ddb1da51780e510c7943e76f61f88d Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 18 Jan 2016 15:35:30 +0000 Subject: [PATCH] br2684ctl: resolve a boot time race condition with nas0 bringup by using explicit notification when init is done Signed-off-by: Felix Fietkau SVN-Revision: 48321 --- package/network/utils/linux-atm/Makefile | 4 ++-- package/network/utils/linux-atm/files/br2684-up | 3 +++ package/network/utils/linux-atm/files/br2684ctl | 13 ++----------- 3 files changed, 7 insertions(+), 13 deletions(-) create mode 100644 package/network/utils/linux-atm/files/br2684-up diff --git a/package/network/utils/linux-atm/Makefile b/package/network/utils/linux-atm/Makefile index 9c6cfec95c..e081428eb0 100644 --- a/package/network/utils/linux-atm/Makefile +++ b/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 \ diff --git a/package/network/utils/linux-atm/files/br2684-up b/package/network/utils/linux-atm/files/br2684-up new file mode 100644 index 0000000000..ba1d67023e --- /dev/null +++ b/package/network/utils/linux-atm/files/br2684-up @@ -0,0 +1,3 @@ +#!/bin/sh +. /lib/functions/network.sh +network_ready_device "$1" diff --git a/package/network/utils/linux-atm/files/br2684ctl b/package/network/utils/linux-atm/files/br2684ctl index 1cac4df04d..0fa86bdefd 100755 --- a/package/network/utils/linux-atm/files/br2684ctl +++ b/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})