p2p: fallback to p2p neg after running out of GO scan attempts.
If p2p_fallback_to_go_neg is enabled, it should fallback
to go neg, but not report group formation failure after
running out of GO scan attempts.
Bug: 163532173
Test: atest VtsHalWifiSupplicantV1_0TargetTest \
VtsHalWifiSupplicantV1_1TargetTest \
VtsHalWifiSupplicantV1_2TargetTest \
VtsHalWifiSupplicantV1_3TargetTest \
VtsHalWifiSupplicantV1_4TargetTest
Test: act.py
-c tools/test/connectivity/acts/tests/google/wifi/p2p/config/wifi_p2p.json \
-tb WifiP2pAllAttached \
-tc WifiP2pMultiPeersTest WifiP2pLocalServiceTest WifiP2pManagerTest
Test: act.py
-c tools/test/connectivity/acts/tests/google/wifi/p2p/config/wifi_p2p_group.json \
-tb WifiP2pAllAttached \
-tc WifiP2pGroupTest
Change-Id: I2c93645825d99013fa9e0e0fdfc998d80934b5dc
diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c
index b0bea61..f3bb56a 100644
--- a/wpa_supplicant/p2p_supplicant.c
+++ b/wpa_supplicant/p2p_supplicant.c
@@ -4925,6 +4925,15 @@
MAC2STR(wpa_s->pending_join_dev_addr));
return;
}
+ if (wpa_s->p2p_fallback_to_go_neg) {
+ wpa_dbg(wpa_s, MSG_DEBUG, "P2P: Join operating "
+ "failed - fall back to GO Negotiation");
+ wpa_msg_global(wpa_s->p2pdev, MSG_INFO,
+ P2P_EVENT_FALLBACK_TO_GO_NEG
+ "reason=join-failed");
+ wpas_p2p_fallback_to_go_neg(wpa_s, 0);
+ return;
+ }
wpa_msg_global(wpa_s->p2pdev, MSG_INFO,
P2P_EVENT_GROUP_FORMATION_FAILURE);
wpas_notify_p2p_group_formation_failure(wpa_s, "");