summaryrefslogtreecommitdiffstats
path: root/wifi
diff options
context:
space:
mode:
authorIrfan Sheriff <isheriff@google.com>2012-04-27 14:44:35 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-04-27 14:44:35 -0700
commitd8e0831b508bec52a2ad6de2659ce8a4f73b9154 (patch)
treef21b63de93011df1d49de6b3e5f962532584913b /wifi
parenta5ab608295db0afaa903151fcc9a2fce30620999 (diff)
parentb678320cfa16424e01494fb0ee97bc98c0988bf1 (diff)
downloadframeworks_base-d8e0831b508bec52a2ad6de2659ce8a4f73b9154.zip
frameworks_base-d8e0831b508bec52a2ad6de2659ce8a4f73b9154.tar.gz
frameworks_base-d8e0831b508bec52a2ad6de2659ce8a4f73b9154.tar.bz2
Merge "Recover immediately from driver hang" into jb-dev
Diffstat (limited to 'wifi')
-rw-r--r--wifi/java/android/net/wifi/WifiStateMachine.java8
1 files changed, 4 insertions, 4 deletions
diff --git a/wifi/java/android/net/wifi/WifiStateMachine.java b/wifi/java/android/net/wifi/WifiStateMachine.java
index 0cc1380..3503633 100644
--- a/wifi/java/android/net/wifi/WifiStateMachine.java
+++ b/wifi/java/android/net/wifi/WifiStateMachine.java
@@ -2814,15 +2814,15 @@ public class WifiStateMachine extends StateMachine {
break;
case WifiMonitor.SUPPLICANT_STATE_CHANGE_EVENT:
SupplicantState state = handleSupplicantStateChange(message);
- // Due to a WEXT bug, during the time of driver start/stop
- // we can go into a driver stopped state in an unexpected way.
- // The sequence eventually puts interface
- // up and we should be back to a connected state
+ // A driver/firmware hang can now put the interface in a down state.
+ // We detect the interface going down and recover from it
if (!SupplicantState.isDriverActive(state)) {
if (mNetworkInfo.getState() != NetworkInfo.State.DISCONNECTED) {
handleNetworkDisconnect();
}
+ log("Detected an interface down, restart driver");
transitionTo(mDriverStoppedState);
+ sendMessage(CMD_START_DRIVER);
break;
}