summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNingyuan Wang <nywang@google.com>2016-09-16 20:27:24 +0000
committerandroid-build-merger <android-build-merger@google.com>2016-09-16 20:27:24 +0000
commit71e1e77a74b19631fc53675feff36aa9bbeb90bb (patch)
treed99884a5910595a5dde6271ad01f3736a6c47e00
parentbb37cd000c6f53c4d388a24e56fe2373f2e1c09c (diff)
parentfec788327369ade5d0bfb9fba080c368e8471827 (diff)
Clean up interfaces before WifiStateMachine configures interfaces
am: fec7883273 Change-Id: I170a5095bdf4943dd16dca6963f54fb698aed3ce
-rw-r--r--service/java/com/android/server/wifi/WifiStateMachine.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/service/java/com/android/server/wifi/WifiStateMachine.java b/service/java/com/android/server/wifi/WifiStateMachine.java
index 0e39ce9ae..ac240f066 100644
--- a/service/java/com/android/server/wifi/WifiStateMachine.java
+++ b/service/java/com/android/server/wifi/WifiStateMachine.java
@@ -1021,6 +1021,18 @@ public class WifiStateMachine extends StateMachine implements WifiNative.WifiRss
setLogRecSize(NUM_LOG_RECS_NORMAL);
setLogOnlyTransitions(false);
+ // Clean up existing interfaces in wificond.
+ // This ensures that wificond continue to work if java framework restarts.
+ try {
+ mWificond = mWifiInjector.makeWificond();
+ if (mWificond != null) {
+ mWificond.tearDownInterfaces();
+ }
+ } catch (RemoteException e) {
+ // There is very little we can do here
+ Log.e(TAG, "Failed to tear down interfaces via wificond");
+ }
+
//start the state machine
start();