diff options
author | Gabriele M <moto.falcon.git@gmail.com> | 2017-03-07 15:20:34 +0100 |
---|---|---|
committer | Gabriele M <moto.falcon.git@gmail.com> | 2017-03-08 23:24:54 +0000 |
commit | 2c25264908d020b03fb91ada6a92ce2728ef576f (patch) | |
tree | adc60b46cfab783271f9629068da623f18b2a62f /service/java/com/android | |
parent | 0c8a819733de4f9b93e1e0e53e291744a7ce17d4 (diff) | |
download | android_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
Diffstat (limited to 'service/java/com/android')
-rw-r--r-- | service/java/com/android/server/wifi/WifiStateMachine.java | 2 |
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; |