Wait for MAC address before adding interface to bridge.

Change-Id: Idab220c9f5861302b995de563e205225343dfb1c
diff --git a/fs/skeleton/etc/init.d/network b/fs/skeleton/etc/init.d/network
index 3899412..b36a2da 100755
--- a/fs/skeleton/etc/init.d/network
+++ b/fs/skeleton/etc/init.d/network
@@ -229,6 +229,14 @@
   for x in "$@"; do
     [ -e "$x" ] || continue
 
+    # Wait for MAC address.
+    for i in $(seq 1 12); do
+      if [ "$(get_mac_address_for_interface "$x")" != 00:00:00:00:00:00 ]; then
+        break
+      fi
+      sleep 0.25
+    done
+
     local x="${x#/sys/class/net/}"
     echo "Adding interface $x..."
 
@@ -420,7 +428,7 @@
       i=0
       while true; do
         if ! interface_exists wlan"$i"; then
-          add_quantenna_interface "wlan$i" 3
+          echo "add wlan$i 3" >/sys/class/net/quantenna/vlan
           break
         fi
         i=$((i+1))
diff --git a/fs/skeleton/etc/utils.sh b/fs/skeleton/etc/utils.sh
index 17470b1..e4f4b9c 100644
--- a/fs/skeleton/etc/utils.sh
+++ b/fs/skeleton/etc/utils.sh
@@ -265,18 +265,6 @@
   [ -e "/sys/class/net/$1" ]
 }
 
-add_quantenna_interface() {
-  local interface=$1
-  local vlan=$2
-  echo "add $interface $vlan" >/sys/class/net/quantenna/vlan
-  for i in `seq 12`; do
-    if interface_exists "$interface"; then
-      break
-    fi
-    sleep 0.25
-  done
-}
-
 is_quantenna_interface() {
   # Check for "$1 " to prevent "wlanX" from matching "wlanX_portal".
   filecontains "$1 " /sys/class/net/quantenna/vlan >/dev/null 2>&1
diff --git a/fs/skeleton/sbin/hotplug b/fs/skeleton/sbin/hotplug
index 7cec68c..dbb0da8 100755
--- a/fs/skeleton/sbin/hotplug
+++ b/fs/skeleton/sbin/hotplug
@@ -18,7 +18,7 @@
   local client_interface=$(echo "$interface" | sed s/^wlan/wcli/)
   if ! interface_exists "$client_interface"; then
     if is_quantenna_interface "$interface"; then
-      add_quantenna_interface "$client_interface" 2
+      echo "add $client_interface 2" >/sys/class/net/quantenna/vlan
       mac=$(get_locally_administered_mac_addr "$mac")
     else
       local phy=$(find_phy_for_interface "$interface")
@@ -76,7 +76,7 @@
 
   if ! interface_exists "$secondary_interface"; then
     if is_quantenna_interface "$interface"; then
-      add_quantenna_interface "$secondary_interface" 4
+      echo "add $secondary_interface 4" >/sys/class/net/quantenna/vlan
       mac=$(get_locally_administered_mac_addr "$mac")
     else
       local phy=$(find_phy_for_interface "$interface")