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);