broadcom-wl: use a single instance of 'nas' per 'wl' device
authorHauke Mehrtens <hauke@hauke-m.de>
Mon, 11 Nov 2013 21:59:34 +0000 (21:59 +0000)
committerHauke Mehrtens <hauke@hauke-m.de>
Mon, 11 Nov 2013 21:59:34 +0000 (21:59 +0000)
A single instance of 'nas' can support multiple interfaces; there's
no need to run multiple instances.

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>
SVN-Revision: 38752

package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh

index 506b077ef2b70669c14ee6fefa05780daa2fe713..80cd9d5f3d6229432124c6244d9fe997fbd33f60 100644 (file)
@@ -334,13 +334,15 @@ enable_broadcom() {
                        append if_up "set_wifi_up '$vif' '$ifname'" ";$N"
                        append if_up "start_net '$ifname' '$net_cfg'" ";$N"
                }
-               [ -z "$nasopts" ] || {
+               [ -z "$nas" -o -z "$nasopts" ] || {
                        eval "${vif}_ssid=\"\$ssid\""
                        nas_mode="-A"
                        [ "$mode" = "sta" ] && nas_mode="-S"
-                       [ -z "$nas" ] || {
-                               nas_cmd="${nas_cmd:+$nas_cmd$N}start-stop-daemon -S -b -p /var/run/nas.$ifname.pid -x $nas -- -P /var/run/nas.$ifname.pid -H 34954 -i $ifname $nas_mode -m $auth -w $wsec -s \"\$${vif}_ssid\" -g 3600 -F $nasopts"
+                       [ -z "$nas_cmd" ] && {
+                               local pid_file=/var/run/nas.$device.pid
+                               nas_cmd="start-stop-daemon -S -b -p $pid_file -x $nas -- -P $pid_file -H 34954"
                        }
+                       append nas_cmd "-i $ifname $nas_mode -m $auth -w $wsec -s \"\$${vif}_ssid\" -g 3600 -F $nasopts"
                }
                _c=$(($_c + 1))
        done