Update to Version 0.8.24 from BRCM

- Add 'conc_priority' command
- Fix handling a single channel concurrency case: If conc_priority
  is not set, advertise the frequency conflict to the framework and
  disable the new connection attempted
- When P2P Interface gets removed due to single channel frequency
  conflict, show GROUP_REMOVE reason=FREQ_CONFLICT
- Fix sched scan processing

Change-Id: Ie6fe105cebd379a0a9c49ace62d2e48e71571107
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c
index 3aba246..5e7edc8 100644
--- a/wpa_supplicant/p2p_supplicant.c
+++ b/wpa_supplicant/p2p_supplicant.c
@@ -257,6 +257,11 @@
 	case P2P_GROUP_REMOVAL_UNAVAILABLE:
 		reason = " reason=UNAVAILABLE";
 		break;
+#ifdef ANDROID_P2P
+	case P2P_GROUP_REMOVAL_FREQ_CONFLICT:
+		reason = " reason=FREQ_CONFLICT";
+		break;
+#endif
 	default:
 		reason = "";
 		break;
@@ -805,9 +810,6 @@
 
 #define C(n) if (s->n) d->n = os_strdup(s->n)
 	C(device_name);
-#ifdef ANDROID_P2P
-	C(prioritize);
-#endif
 	C(manufacturer);
 	C(model_name);
 	C(model_number);
@@ -4458,10 +4460,13 @@
 			/* If GO cannot be moved or if the conflicting interface is a
 			 * P2P Client, remove the interface depending up on the connection
 			 * priority */
-			if(wpas_is_interface_prioritized(wpa_s)) {
-				/* Newly requested connection has priority over existing 
+			if(!wpas_is_p2p_prioritized(wpa_s)) {
+				/* STA connection has priority over existing 
 				 * P2P connection. So remove the interface */
-				wpas_p2p_disconnect(iface);
+				wpa_printf(MSG_DEBUG, "P2P: Removing P2P connection due to Single channel"
+						"concurrent mode frequency conflict");
+				iface->removal_reason = P2P_GROUP_REMOVAL_FREQ_CONFLICT;
+				wpas_p2p_group_delete(iface);
 			} else {
 				/* Existing connection has the priority. Disable the newly
                  * selected network and let the application know about it.