summaryrefslogtreecommitdiffstats
path: root/wifi
diff options
context:
space:
mode:
authorIrfan Sheriff <isheriff@google.com>2012-02-13 16:12:48 -0800
committerIrfan Sheriff <isheriff@google.com>2012-02-13 16:12:48 -0800
commit4aa9bcd231d09eb62ea64799a2dfacf45a452049 (patch)
treece50db118eb6773e70059c282fb30ab9d1f5a6f8 /wifi
parenta17032eeb91f709360b6271b71b85e67f729bcc1 (diff)
downloadframeworks_base-4aa9bcd231d09eb62ea64799a2dfacf45a452049.zip
frameworks_base-4aa9bcd231d09eb62ea64799a2dfacf45a452049.tar.gz
frameworks_base-4aa9bcd231d09eb62ea64799a2dfacf45a452049.tar.bz2
Fix shutdown delay
We were timing out on commands after shutting down supplicant Bug: 5973030 Change-Id: I442ae6a9ad206406dc5f1c8c27be2456a339bba2
Diffstat (limited to 'wifi')
-rw-r--r--wifi/java/android/net/wifi/WifiStateMachine.java13
1 files changed, 8 insertions, 5 deletions
diff --git a/wifi/java/android/net/wifi/WifiStateMachine.java b/wifi/java/android/net/wifi/WifiStateMachine.java
index b8b7c0e..fb9286e 100644
--- a/wifi/java/android/net/wifi/WifiStateMachine.java
+++ b/wifi/java/android/net/wifi/WifiStateMachine.java
@@ -1625,14 +1625,14 @@ public class WifiStateMachine extends StateMachine {
private void handleNetworkDisconnect() {
if (DBG) log("Stopping DHCP and clearing IP");
- /* In case we were in middle of DHCP operation
- restore back powermode */
- handlePostDhcpSetup();
-
/*
* stop DHCP
*/
if (mDhcpStateMachine != null) {
+ /* In case we were in middle of DHCP operation
+ restore back powermode */
+ handlePostDhcpSetup();
+
mDhcpStateMachine.sendMessage(DhcpStateMachine.CMD_STOP_DHCP);
mDhcpStateMachine.quit();
mDhcpStateMachine = null;
@@ -2395,6 +2395,10 @@ public class WifiStateMachine extends StateMachine {
public void enter() {
if (DBG) log(getName() + "\n");
EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
+
+ /* Send any reset commands to supplicant before shutting it down */
+ handleNetworkDisconnect();
+
if (DBG) log("stopping supplicant");
if (!mWifiNative.stopSupplicant()) {
loge("Failed to stop supplicant");
@@ -2405,7 +2409,6 @@ public class WifiStateMachine extends StateMachine {
++mSupplicantStopFailureToken, 0), SUPPLICANT_RESTART_INTERVAL_MSECS);
mNetworkInfo.setIsAvailable(false);
- handleNetworkDisconnect();
setWifiState(WIFI_STATE_DISABLING);
sendSupplicantConnectionChangedBroadcast(false);
mSupplicantStateTracker.sendMessage(CMD_RESET_SUPPLICANT_STATE);