use pidfiles for hostapd/wpa_supplicant instead of killing all processes when bringin...
[openwrt/svn-archive/archive.git] / package / madwifi / files / lib / wifi / madwifi.sh
index 6ee6435658a6446816a3052197da42934d1a2d8c..5ce288f6e634021d9106c98e30719251099db688 100755 (executable)
@@ -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
                }