From bc37b2e831db50b01eb038f5a5cb5a3dd6b3fe49 Mon Sep 17 00:00:00 2001
From: Jo-Philipp Wich <jow@openwrt.org>
Date: Mon, 14 Sep 2009 16:14:27 +0000
Subject: [PATCH] base-files: dispatch ifdown events for proto=none interfaces
 and fix a race condition between revert state and hotplug handlers

SVN-Revision: 17582
---
 package/base-files/Makefile          | 2 +-
 package/base-files/files/sbin/ifdown | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index 4661a5a575..d87253b4dd 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=base-files
-PKG_RELEASE:=29
+PKG_RELEASE:=30
 
 PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
 
diff --git a/package/base-files/files/sbin/ifdown b/package/base-files/files/sbin/ifdown
index 883f8ec428..8de414d8b6 100755
--- a/package/base-files/files/sbin/ifdown
+++ b/package/base-files/files/sbin/ifdown
@@ -22,8 +22,8 @@ config_get proto "$cfg" proto
 [ -z "$proto" ] && { echo "interface not found."; exit; }
 
 config_get iface "$cfg" device
-[ "static" = "$proto" ] && {
-	env -i ACTION="ifdown" INTERFACE="$cfg" DEVICE="$iface" PROTO=static /sbin/hotplug-call "iface" &
+[ "static" = "$proto" -o "none" = "$proto" ] && {
+	env -i ACTION="ifdown" INTERFACE="$cfg" DEVICE="$iface" PROTO="$proto" /sbin/hotplug-call "iface"
 }
 
 # call interface stop handler
-- 
GitLab