Fix 'restore STA reconnection behavior' cherry-pick

BUG: b/6400311

Change-Id: I7b90ab9b5430b92e9e4e5702c3b1805a6bbc0b9a
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
diff --git a/wpa_supplicant/config_ssid.h b/wpa_supplicant/config_ssid.h
index 2605ae8..45a423c 100644
--- a/wpa_supplicant/config_ssid.h
+++ b/wpa_supplicant/config_ssid.h
@@ -423,6 +423,13 @@
 	 */
 	int export_keys;
 
+#ifdef ANDROID_P2P
+	/**
+	 * assoc_retry - Number of times association should be retried.
+	 */
+	int assoc_retry;
+#endif
+
 #ifdef CONFIG_HT_OVERRIDES
 	/**
 	 * disable_ht - Disable HT (IEEE 802.11n) for this network
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index cb5b42f..e1ad4d9 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -582,8 +582,9 @@
 		wpa_supplicant_state_txt(state));
 
 #ifdef ANDROID_P2P
-	if(state == WPA_ASSOCIATED || (state <= WPA_INACTIVE))
-		wpa_s->assoc_retries = 0;
+	if(state == WPA_ASSOCIATED && wpa_s->current_ssid) {
+		wpa_s->current_ssid->assoc_retry = 0;
+	}
 #endif /* ANDROID_P2P */
 
 	if (state != WPA_SCANNING)
diff --git a/wpa_supplicant/wpa_supplicant_i.h b/wpa_supplicant/wpa_supplicant_i.h
index 33b6258..21fe5cc 100644
--- a/wpa_supplicant/wpa_supplicant_i.h
+++ b/wpa_supplicant/wpa_supplicant_i.h
@@ -276,9 +276,6 @@
 	struct wpa_bss *current_bss;
 	int ap_ies_from_associnfo;
 	unsigned int assoc_freq;
-#ifdef ANDROID_P2P
-	unsigned int assoc_retries;
-#endif
 
 	/* Selected configuration (based on Beacon/ProbeResp WPA IE) */
 	int pairwise_cipher;