OSDN Git Service

wifi: pass interface to wpa_supplicant
authorChih-Wei Huang <cwhuang@linux.org.tw>
Thu, 2 Sep 2010 08:11:14 +0000 (16:11 +0800)
committerChih-Wei Huang <cwhuang@linux.org.tw>
Fri, 3 Sep 2010 03:28:57 +0000 (11:28 +0800)
Change-Id: I577d0e7a0c6cbf7c1ddb025c01519a30bb7997b3

wifi/wifi.c

index 5fdf99b..b9365a4 100644 (file)
@@ -244,6 +244,7 @@ int ensure_config_file_exists()
 
 int wifi_start_supplicant()
 {
+    char daemon_cmd[PROPERTY_VALUE_MAX];
     char supp_status[PROPERTY_VALUE_MAX] = {'\0'};
     int count = 200; /* wait at most 20 seconds for completion */
 #ifdef HAVE_LIBC_SYSTEM_PROPERTIES
@@ -279,7 +280,9 @@ int wifi_start_supplicant()
         serial = pi->serial;
     }
 #endif
-    property_set("ctl.start", SUPPLICANT_NAME);
+    property_get("wifi.interface", iface, WIFI_TEST_INTERFACE);
+    snprintf(daemon_cmd, PROPERTY_VALUE_MAX, "%s:-i%s", SUPPLICANT_NAME, iface);
+    property_set("ctl.start", daemon_cmd);
     sched_yield();
 
     while (count-- > 0) {
@@ -343,8 +346,6 @@ int wifi_connect_to_supplicant()
         return -1;
     }
 
-    property_get("wifi.interface", iface, WIFI_TEST_INTERFACE);
-
     if (access(IFACE_DIR, F_OK) == 0) {
         snprintf(ifname, sizeof(ifname), "%s/%s", IFACE_DIR, iface);
     } else {