OSDN Git Service

Fix stop supplicant api
authorIrfan Sheriff <isheriff@google.com>
Sun, 4 Nov 2012 06:21:39 +0000 (23:21 -0700)
committerIrfan Sheriff <isheriff@google.com>
Tue, 6 Nov 2012 23:55:30 +0000 (15:55 -0800)
Bug: 7227463
Change-Id: I4576e223c69dd67bd714fefecf0a1047770362fd

include/hardware_legacy/wifi.h
wifi/wifi.c

index 4d051e7..be6a83e 100644 (file)
@@ -55,7 +55,7 @@ int wifi_start_supplicant(int p2pSupported);
  *
  * @return 0 on success, < 0 on failure.
  */
-int wifi_stop_supplicant();
+int wifi_stop_supplicant(int p2pSupported);
 
 /**
  * Open a connection to supplicant on interface
index d62b30f..b905897 100644 (file)
@@ -604,11 +604,19 @@ int wifi_start_supplicant(int p2p_supported)
     return -1;
 }
 
-int wifi_stop_supplicant()
+int wifi_stop_supplicant(int p2p_supported)
 {
     char supp_status[PROPERTY_VALUE_MAX] = {'\0'};
     int count = 50; /* wait at most 5 seconds for completion */
 
+    if (p2p_supported) {
+        strcpy(supplicant_name, P2P_SUPPLICANT_NAME);
+        strcpy(supplicant_prop_name, P2P_PROP_NAME);
+    } else {
+        strcpy(supplicant_name, SUPPLICANT_NAME);
+        strcpy(supplicant_prop_name, SUPP_PROP_NAME);
+    }
+
     /* Check whether supplicant already stopped */
     if (property_get(supplicant_prop_name, supp_status, NULL)
         && strcmp(supp_status, "stopped") == 0) {
@@ -625,6 +633,7 @@ int wifi_stop_supplicant()
         }
         usleep(100000);
     }
+    ALOGE("Failed to stop supplicant");
     return -1;
 }