From 5770b2dcf6f28f1ea44146d5eb8c8a6b9cfc3fce Mon Sep 17 00:00:00 2001 From: Arik Nemtsov Date: Wed, 22 Aug 2012 16:27:15 -0500 Subject: WifiStateMachine: ignore auth-fail event during WPS connection Disregard auth failure events during WPS connection. The EAP sequence is retried several times, and there might be failures (especially for wps pin). We will get a WPS_XXX event at the end of the sequence anyway. Without this change, the SupplicantStateTracker class will disable the WPS network we are connecting to after 2 failed authentication events. Then, even if WPS succeeds, we will never connect to the selected network. Change-Id: I57c8e508bfd738405b7f2c2c2325df7838e1b4af Signed-off-by: Arik Nemtsov Signed-off-by: Vishal Mahaveer --- wifi/java/android/net/wifi/WifiStateMachine.java | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'wifi/java/android/net') diff --git a/wifi/java/android/net/wifi/WifiStateMachine.java b/wifi/java/android/net/wifi/WifiStateMachine.java index bb09704..78c4b6c 100644 --- a/wifi/java/android/net/wifi/WifiStateMachine.java +++ b/wifi/java/android/net/wifi/WifiStateMachine.java @@ -3535,6 +3535,13 @@ public class WifiStateMachine extends StateMachine { if (DBG) log("Network connection lost"); handleNetworkDisconnect(); break; + case WifiMonitor.AUTHENTICATION_FAILURE_EVENT: + // Disregard auth failure events during WPS connection. The + // EAP sequence is retried several times, and there might be + // failures (especially for wps pin). We will get a WPS_XXX + // event at the end of the sequence anyway. + if (DBG) log("Ignore auth failure during WPS connection"); + break; case WifiMonitor.SUPPLICANT_STATE_CHANGE_EVENT: //Throw away supplicant state changes when WPS is running. //We will start getting supplicant state changes once we get -- cgit v1.1