broadcom-wl: improve device cleanup
Move all device cleanup to "disable_broadcom". Signed-off-by: Nathan Hintz <nlhintz@hotmail.com> SVN-Revision: 38758
This commit is contained in:
parent
3c2904bfb8
commit
c926edd72d
1 changed files with 21 additions and 15 deletions
|
@ -50,12 +50,6 @@ scan_broadcom() {
|
|||
done
|
||||
config_set "$device" vifs "${adhoc_if:-$sta_if $ap_if $mon_if}"
|
||||
|
||||
ifdown="down"
|
||||
for vif in 0 1 2 3; do
|
||||
append ifdown "vif $vif" "$N"
|
||||
append ifdown "enabled 0" "$N"
|
||||
done
|
||||
|
||||
ap=1
|
||||
infra=1
|
||||
if [ "$_c" -gt 1 ]; then
|
||||
|
@ -96,7 +90,6 @@ scan_broadcom() {
|
|||
disable_broadcom() {
|
||||
local device="$1"
|
||||
set_wifi_down "$device"
|
||||
wlc ifname "$device" down
|
||||
(
|
||||
include /lib/network
|
||||
|
||||
|
@ -104,12 +97,28 @@ disable_broadcom() {
|
|||
[ -e $pid_file ] && start-stop-daemon -K -q -s SIGKILL -p $pid_file && rm $pid_file
|
||||
|
||||
# make sure the interfaces are down and removed from all bridges
|
||||
local dev
|
||||
for dev in $device ${device}-1 ${device}-2 ${device}-3; do
|
||||
ifconfig "$dev" down 2>/dev/null >/dev/null && {
|
||||
unbridge "$dev"
|
||||
}
|
||||
local dev ifname
|
||||
for dev in /sys/class/net/wds${device##wl}-* /sys/class/net/${device}-* /sys/class/net/${device}; do
|
||||
if [ -e "$dev" ]; then
|
||||
ifname=${dev##/sys/class/net/}
|
||||
ifconfig "$ifname" down
|
||||
unbridge "$ifname"
|
||||
fi
|
||||
done
|
||||
|
||||
# make sure all of the devices are disabled in the driver
|
||||
local ifdown=
|
||||
local vif
|
||||
append ifdown "down" "$N"
|
||||
append ifdown "wds none" "$N"
|
||||
for vif in 3 2 1 0; do
|
||||
append ifdown "vif $vif" "$N"
|
||||
append ifdown "enabled 0" "$N"
|
||||
done
|
||||
|
||||
wlc ifname "$device" stdin <<EOF
|
||||
$ifdown
|
||||
EOF
|
||||
)
|
||||
true
|
||||
}
|
||||
|
@ -362,8 +371,6 @@ enable_broadcom() {
|
|||
_c=$(($_c + 1))
|
||||
done
|
||||
wlc ifname "$device" stdin <<EOF
|
||||
$ifdown
|
||||
|
||||
${macaddr:+bssid $macaddr}
|
||||
${macaddr:+cur_etheraddr $macaddr}
|
||||
band ${band:-0}
|
||||
|
@ -387,7 +394,6 @@ monitor ${monitor:-0}
|
|||
radio ${radio:-1}
|
||||
macfilter ${macfilter:-0}
|
||||
maclist ${maclist:-none}
|
||||
wds none
|
||||
${wds:+wds $wds}
|
||||
country ${country:-US}
|
||||
${channel:+channel $channel}
|
||||
|
|
Loading…
Reference in a new issue