diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2020-04-03 04:06:05 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-04-03 04:06:05 +0000 |
commit | a9f0ab51a54e2725681b09a08b16718cd04ea133 (patch) | |
tree | c3838a38f012c11308f354097becd859a157b1f8 /src/android/net/ip/IpClient.java | |
parent | c483b105943536ab87c50488929425c14bcfe3b1 (diff) | |
parent | 01e7fee5cd9b629cd8c651d7ab1b6ebabe3d2f43 (diff) |
Merge "Getting interface params in ClearingIpAddressState#enter." into rvc-dev am: 87f896aa4b am: 01e7fee5cd
Change-Id: Ie677a988370f32d56dc18d54947a3064f68fd150
Diffstat (limited to 'src/android/net/ip/IpClient.java')
-rw-r--r-- | src/android/net/ip/IpClient.java | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/android/net/ip/IpClient.java b/src/android/net/ip/IpClient.java index ebb31c6..74a4070 100644 --- a/src/android/net/ip/IpClient.java +++ b/src/android/net/ip/IpClient.java @@ -765,14 +765,6 @@ public class IpClient extends StateMachine { return; } - mInterfaceParams = mDependencies.getInterfaceParams(mInterfaceName); - if (mInterfaceParams == null) { - logError("Failed to find InterfaceParams for " + mInterfaceName); - doImmediateProvisioningFailure(IpManagerEvent.ERROR_INTERFACE_NOT_FOUND); - return; - } - - mCallback.setNeighborDiscoveryOffload(true); sendMessage(CMD_START, new android.net.shared.ProvisioningConfiguration(req)); } @@ -1636,6 +1628,17 @@ public class IpClient extends StateMachine { // tethering or during an IpClient restart. stopAllIP(); } + + // Ensure that interface parameters are fetched on the handler thread so they are + // properly ordered with other events, such as restoring the interface MTU on teardown. + mInterfaceParams = mDependencies.getInterfaceParams(mInterfaceName); + if (mInterfaceParams == null) { + logError("Failed to find InterfaceParams for " + mInterfaceName); + doImmediateProvisioningFailure(IpManagerEvent.ERROR_INTERFACE_NOT_FOUND); + transitionTo(mStoppedState); + return; + } + mCallback.setNeighborDiscoveryOffload(true); } @Override |