summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGabriele M <moto.falcon.git@gmail.com>2017-03-07 15:20:34 +0100
committerGabriele M <moto.falcon.git@gmail.com>2017-03-08 23:24:54 +0000
commit2c25264908d020b03fb91ada6a92ce2728ef576f (patch)
treeadc60b46cfab783271f9629068da623f18b2a62f
parent0c8a819733de4f9b93e1e0e53e291744a7ce17d4 (diff)
downloadandroid_frameworks_opt_net_wifi-2c25264908d020b03fb91ada6a92ce2728ef576f.tar.gz
android_frameworks_opt_net_wifi-2c25264908d020b03fb91ada6a92ce2728ef576f.tar.bz2
android_frameworks_opt_net_wifi-2c25264908d020b03fb91ada6a92ce2728ef576f.zip
WifiStateMachine: Probe neighbours only when roamingcm-14.1_old
Whenever a WPA group rekeying happens, the wpa_supplicant state goes from CONNETED to GROUP_HANDSHAKE and back to CONNETED. This makes WifiStateMachine call IpManager.confirmConfiguration() which, in this scenario, leads to the NUD_FAILED state and subsequent disconnection. Instead of calling IpManager.confirmConfiguration() whenever we reach the CONNECTED state, do it only if we are roaming. According to the comments in the code and commit c4a5807e031412bd4529daa46baa8b1bdb0629 ("Do some DNAv4/DNAv6 -style probing on roaming.") this is probably how the probing was intended to be done. Change-Id: I6d1b6b13be546f2ce9f22c34bd0f4f83faf9bd27
-rw-r--r--service/java/com/android/server/wifi/WifiStateMachine.java2
1 files changed, 1 insertions, 1 deletions
diff --git a/service/java/com/android/server/wifi/WifiStateMachine.java b/service/java/com/android/server/wifi/WifiStateMachine.java
index 42acdc46c..5d1906aca 100644
--- a/service/java/com/android/server/wifi/WifiStateMachine.java
+++ b/service/java/com/android/server/wifi/WifiStateMachine.java
@@ -5646,7 +5646,7 @@ public class WifiStateMachine extends StateMachine implements WifiNative.WifiRss
// If we have COMPLETED a connection to a BSSID, start doing
// DNAv4/DNAv6 -style probing for on-link neighbors of
// interest (e.g. routers); harmless if none are configured.
- if (state == SupplicantState.COMPLETED) {
+ if (isRoaming() && state == SupplicantState.COMPLETED) {
mIpManager.confirmConfiguration();
}
break;