diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2013-11-11 22:03:25 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2013-11-11 22:03:25 +0000 |
commit | df493faf12c4124732beea63863d42536a265359 (patch) | |
tree | a5fea9d7111e11955b2a2e94f89cf4c5057f7238 /package/kernel/broadcom-wl/files | |
parent | c926edd72d57faa839a373dfb29b0537c930c5b4 (diff) | |
download | upstream-df493faf12c4124732beea63863d42536a265359.tar.gz upstream-df493faf12c4124732beea63863d42536a265359.tar.bz2 upstream-df493faf12c4124732beea63863d42536a265359.zip |
broadcom-wl: support more virtual interfaces
Read the number of virtual interfaces to support from the device
capabilities; as some newer devices can support up to 16.
Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>
SVN-Revision: 38759
Diffstat (limited to 'package/kernel/broadcom-wl/files')
-rw-r--r-- | package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh b/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh index 9416f77b23..614db0cf0b 100644 --- a/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh +++ b/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh @@ -108,12 +108,14 @@ disable_broadcom() { # make sure all of the devices are disabled in the driver local ifdown= - local vif + local bssmax=$(wlc ifname "$device" bssmax) + local vif=$((${bssmax:-4} - 1)) append ifdown "down" "$N" append ifdown "wds none" "$N" - for vif in 3 2 1 0; do + while [ $vif -ge 0 ]; do append ifdown "vif $vif" "$N" append ifdown "enabled 0" "$N" + vif=$(($vif - 1)) done wlc ifname "$device" stdin <<EOF @@ -209,8 +211,12 @@ enable_broadcom() { local nas="$(which nas)" local if_pre_up if_up nas_cmd local vif vif_pre_up vif_post_up vif_do_up vif_txpower + local bssmax=$(wlc ifname "$device" bssmax) + bssmax=${bssmax:-4} for vif in $vifs; do + [ $_c -ge $bssmax ] && break + config_get vif_txpower "$vif" txpower local mode |