WiFi-Hal: Get the interface index only for wlan0
am: 370564aa2f

Change-Id: I5711ed377f25d7471730e2e630980b592529e2da
diff --git a/qcwcn/wifi_hal/wifi_hal.cpp b/qcwcn/wifi_hal/wifi_hal.cpp
index e3e3df5..4ec60e7 100644
--- a/qcwcn/wifi_hal/wifi_hal.cpp
+++ b/qcwcn/wifi_hal/wifi_hal.cpp
@@ -440,6 +440,15 @@
     info->cldctx = NULL;
 }
 
+static int wifi_get_iface_id(hal_info *info, const char *iface)
+{
+    int i;
+    for (i = 0; i < info->num_interfaces; i++)
+        if (!strcmp(info->interfaces[i]->name, iface))
+            return i;
+    return -1;
+}
+
 wifi_error wifi_initialize(wifi_handle *handle)
 {
     int err = 0;
@@ -449,6 +458,7 @@
     struct nl_sock *event_sock = NULL;
     struct nl_cb *cb = NULL;
     int status = 0;
+    int index;
 
     ALOGI("Initializing wifi");
     hal_info *info = (hal_info *)malloc(sizeof(hal_info));
@@ -591,17 +601,17 @@
         goto unload;
     }
 
-    iface_handle = wifi_get_iface_handle((info->interfaces[0])->handle,
-            (info->interfaces[0])->name);
-    if (iface_handle == NULL) {
+    index = wifi_get_iface_id(info, "wlan0");
+    if (index == -1) {
         int i;
         for (i = 0; i < info->num_interfaces; i++)
         {
             free(info->interfaces[i]);
         }
-        ALOGE("%s no iface with %s\n", __func__, info->interfaces[0]->name);
+        ALOGE("%s no iface with wlan0", __func__);
         goto unload;
     }
+    iface_handle = (wifi_interface_handle)info->interfaces[index];
 
     ret = acquire_supported_features(iface_handle,
             &info->supported_feature_set);