diff options
author | Irfan Sheriff <isheriff@google.com> | 2012-04-27 14:44:35 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-04-27 14:44:35 -0700 |
commit | d8e0831b508bec52a2ad6de2659ce8a4f73b9154 (patch) | |
tree | f21b63de93011df1d49de6b3e5f962532584913b /wifi | |
parent | a5ab608295db0afaa903151fcc9a2fce30620999 (diff) | |
parent | b678320cfa16424e01494fb0ee97bc98c0988bf1 (diff) | |
download | frameworks_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.java | 8 |
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; } |