diff --git a/include/hardware_legacy/wifi.h b/include/hardware_legacy/wifi.h
index 4d051e7..be6a83e 100644
--- a/include/hardware_legacy/wifi.h
+++ b/include/hardware_legacy/wifi.h
@@ -55,7 +55,7 @@
  *
  * @return 0 on success, < 0 on failure.
  */
-int wifi_stop_supplicant();
+int wifi_stop_supplicant(int p2pSupported);
 
 /**
  * Open a connection to supplicant on interface
diff --git a/wifi/wifi.c b/wifi/wifi.c
index d62b30f..b905897 100644
--- a/wifi/wifi.c
+++ b/wifi/wifi.c
@@ -604,11 +604,19 @@
     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 @@
         }
         usleep(100000);
     }
+    ALOGE("Failed to stop supplicant");
     return -1;
 }
 
