Strategic fix for infinite loop
Bug: 111326363
Test: Manual + atest frameworks-net
Change-Id: Id262df4e41de5c74784637ae4a5459c3fab9fb74
diff --git a/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java b/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java
index dc42d4b..dc94482 100644
--- a/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java
+++ b/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java
@@ -33,6 +33,7 @@
import android.net.StringNetworkSpecifier;
import android.net.ip.IpClient;
import android.net.ip.IpClient.ProvisioningConfiguration;
+import android.net.util.InterfaceParams;
import android.os.Handler;
import android.text.TextUtils;
import android.util.Log;
@@ -328,7 +329,11 @@
// This cannot happen due to provisioning timeout, because our timeout is 0. It can only
// happen if we're provisioned and we lose provisioning.
stop();
- start();
+ // If the interface has disappeared provisioning will fail over and over again, so
+ // there is no point in starting again
+ if (null != InterfaceParams.getByName(name)) {
+ start();
+ }
}
void updateLinkProperties(LinkProperties linkProperties) {