From a9e6be83aeafd6e97e5eb52e12766b476ab94da0 Mon Sep 17 00:00:00 2001 From: Yuhao Zheng Date: Tue, 8 Oct 2013 17:44:05 -0700 Subject: [PATCH] WifiStateMachine: fix for exiting L2ConnectedState After a L2ConnectedState to WpsRunningState transition, network is disconnected. However, the disconnected message is ignored by WpsRunningState, leaving DHCP still running. When entering L2ConnectedState again, WifiStateMachine gets stuck on waiting for DhcpStateMachine, because DHCP is already running and the command CMD_START_DHCP is ignored. Calling handleNetworkDisconnect() when exiting L2ConnectedState fixes this problem, plus it handles disconnection correctly. Bug: 10900241 Change-Id: Id29e4989b29db7e64719940cf93eba1f1a90912a --- wifi/java/android/net/wifi/WifiStateMachine.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/wifi/java/android/net/wifi/WifiStateMachine.java b/wifi/java/android/net/wifi/WifiStateMachine.java index 349fe24332f4e..de56472c3ea81 100644 --- a/wifi/java/android/net/wifi/WifiStateMachine.java +++ b/wifi/java/android/net/wifi/WifiStateMachine.java @@ -3533,10 +3533,7 @@ public class WifiStateMachine extends StateMachine { @Override public void exit() { - // if we're leaving before this is done, cleanup - if (mDhcpActive) { - handlePostDhcpSetup(); - } + handleNetworkDisconnect(); } @Override