summaryrefslogtreecommitdiff
path: root/package/madwifi/files/lib/wifi
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-10-29 17:26:49 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-10-29 17:26:49 +0000
commit9909f72e6f90fa74dc30185e2e0e492a02f42302 (patch)
tree89c63dd19afe8179a1aba0e96724bf46b633795f /package/madwifi/files/lib/wifi
parentdc7f25c42c6aaf6fbd29f7b2971244d3ed4baa26 (diff)
use pidfiles for hostapd/wpa_supplicant instead of killing all processes when bringing an interface down - fixes an issue with random hostapd death
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13078 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/madwifi/files/lib/wifi')
-rwxr-xr-xpackage/madwifi/files/lib/wifi/madwifi.sh10
1 files changed, 3 insertions, 7 deletions
diff --git a/package/madwifi/files/lib/wifi/madwifi.sh b/package/madwifi/files/lib/wifi/madwifi.sh
index 6ee6435658..5ce288f6e6 100755
--- a/package/madwifi/files/lib/wifi/madwifi.sh
+++ b/package/madwifi/files/lib/wifi/madwifi.sh
@@ -50,18 +50,14 @@ disable_atheros() (
local device="$1"
set_wifi_down "$device"
- # kill all running hostapd and wpa_supplicant processes that
- # are running on atheros vifs
- for pid in `pidof hostapd wpa_supplicant`; do
- grep ath /proc/$pid/cmdline >/dev/null && \
- kill $pid
- done
include /lib/network
cd /proc/sys/net
for dev in *; do
grep "$device" "$dev/%parent" >/dev/null 2>/dev/null && {
- ifconfig "$dev" down
+ [ -f "/var/run/wifi-${dev}.pid" ] &&
+ kill "$(cat "/var/run/wifi-${dev}.pid")"
+ ifconfig "$dev" down
unbridge "$dev"
wlanconfig "$dev" destroy
}