From a738f566e686fbe159dd1cfb71be6e343ed91fe6 Mon Sep 17 00:00:00 2001
From: Mike Baker <mbm@openwrt.org>
Date: Fri, 16 Mar 2007 13:56:36 +0000
Subject: [PATCH] add a new 'option disabled' to wifi-device

SVN-Revision: 6576
---
 package/base-files/files/sbin/wifi            | 27 +++++++------------
 .../broadcom-wl/files/lib/wifi/broadcom.sh    |  2 +-
 package/madwifi/files/lib/wifi/madwifi.sh     |  2 +-
 3 files changed, 12 insertions(+), 19 deletions(-)

diff --git a/package/base-files/files/sbin/wifi b/package/base-files/files/sbin/wifi
index 2b4f1ce1c2..151036e9cb 100755
--- a/package/base-files/files/sbin/wifi
+++ b/package/base-files/files/sbin/wifi
@@ -35,24 +35,17 @@ bridge_interface() {(
 )}
 
 
-wifi_up() {
+wifi_updown() {
 	for device in ${2:-$DEVICES}; do (
+	        config_get disabled "$device" disabled
+	        [ "$disabled" == "1" ] && {
+	        	echo "'$device' is disabled"
+	        	set disable
+	        }
 		config_get iftype "$device" type
-		if eval "type enable_$iftype" 2>/dev/null >/dev/null; then
+		if eval "type ${1}_$iftype" 2>/dev/null >/dev/null; then
 			eval "scan_$iftype '$device'"
-			eval "enable_$iftype '$device'" || echo "$device($iftype): Setup failed"
-		else
-			echo "$device($iftype): Interface type not supported"
-		fi
-	); done
-}
-
-wifi_down() {
-	for device in ${2:-$DEVICES}; do (
-		config_get iftype "$device" type
-		if eval "type disable_$iftype" 2>/dev/null >/dev/null; then
-			eval "scan_$iftype '$device'"
-			eval "disable_$iftype '$device'" || echo "$device($iftype): Disable failed"
+			eval "${1}_$iftype '$device'" || echo "$device($iftype): ${1} failed"
 		else
 			echo "$device($iftype): Interface type not supported"
 		fi
@@ -99,7 +92,7 @@ config_load wireless
 include /lib/wifi
 
 case "$1" in
-	down) wifi_down "$2";;
+	down) wifi_updown "disable" "$2";;
 	detect) wifi_detect "$2";;
-	*) wifi_up "$2";;
+	*) wifi_updown "enable" "$2";;
 esac
diff --git a/package/broadcom-wl/files/lib/wifi/broadcom.sh b/package/broadcom-wl/files/lib/wifi/broadcom.sh
index bfb1b1267b..baa06f5742 100644
--- a/package/broadcom-wl/files/lib/wifi/broadcom.sh
+++ b/package/broadcom-wl/files/lib/wifi/broadcom.sh
@@ -244,7 +244,7 @@ config wifi-device  wl0
 	option type     broadcom
 	option channel  5
 # disable radio to prevent an open ap after reflashing:
-	option radio	0
+	option disabled 1
 
 config wifi-iface
 	option device   wl0
diff --git a/package/madwifi/files/lib/wifi/madwifi.sh b/package/madwifi/files/lib/wifi/madwifi.sh
index 8083612af9..0f846d0cb9 100755
--- a/package/madwifi/files/lib/wifi/madwifi.sh
+++ b/package/madwifi/files/lib/wifi/madwifi.sh
@@ -241,7 +241,7 @@ config wifi-device  $dev
 #       option rxantenna 0
 #       option distance  2000
 # disable radio to prevent an open ap after reflashing:
-	option radio	0
+	option disabled 1
 
 
 config wifi-iface
-- 
GitLab