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
|
done
|
||||||
config_set "$device" vifs "${adhoc_if:-$sta_if $ap_if $mon_if}"
|
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
|
ap=1
|
||||||
infra=1
|
infra=1
|
||||||
if [ "$_c" -gt 1 ]; then
|
if [ "$_c" -gt 1 ]; then
|
||||||
|
@ -96,7 +90,6 @@ scan_broadcom() {
|
||||||
disable_broadcom() {
|
disable_broadcom() {
|
||||||
local device="$1"
|
local device="$1"
|
||||||
set_wifi_down "$device"
|
set_wifi_down "$device"
|
||||||
wlc ifname "$device" down
|
|
||||||
(
|
(
|
||||||
include /lib/network
|
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
|
[ -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
|
# make sure the interfaces are down and removed from all bridges
|
||||||
local dev
|
local dev ifname
|
||||||
for dev in $device ${device}-1 ${device}-2 ${device}-3; do
|
for dev in /sys/class/net/wds${device##wl}-* /sys/class/net/${device}-* /sys/class/net/${device}; do
|
||||||
ifconfig "$dev" down 2>/dev/null >/dev/null && {
|
if [ -e "$dev" ]; then
|
||||||
unbridge "$dev"
|
ifname=${dev##/sys/class/net/}
|
||||||
}
|
ifconfig "$ifname" down
|
||||||
|
unbridge "$ifname"
|
||||||
|
fi
|
||||||
done
|
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
|
true
|
||||||
}
|
}
|
||||||
|
@ -362,8 +371,6 @@ enable_broadcom() {
|
||||||
_c=$(($_c + 1))
|
_c=$(($_c + 1))
|
||||||
done
|
done
|
||||||
wlc ifname "$device" stdin <<EOF
|
wlc ifname "$device" stdin <<EOF
|
||||||
$ifdown
|
|
||||||
|
|
||||||
${macaddr:+bssid $macaddr}
|
${macaddr:+bssid $macaddr}
|
||||||
${macaddr:+cur_etheraddr $macaddr}
|
${macaddr:+cur_etheraddr $macaddr}
|
||||||
band ${band:-0}
|
band ${band:-0}
|
||||||
|
@ -387,7 +394,6 @@ monitor ${monitor:-0}
|
||||||
radio ${radio:-1}
|
radio ${radio:-1}
|
||||||
macfilter ${macfilter:-0}
|
macfilter ${macfilter:-0}
|
||||||
maclist ${maclist:-none}
|
maclist ${maclist:-none}
|
||||||
wds none
|
|
||||||
${wds:+wds $wds}
|
${wds:+wds $wds}
|
||||||
country ${country:-US}
|
country ${country:-US}
|
||||||
${channel:+channel $channel}
|
${channel:+channel $channel}
|
||||||
|
|
Loading…
Reference in a new issue