From 9830ae6d92213ee4fd1e0602cce071e350def45b Mon Sep 17 00:00:00 2001 From: Lorenzo Colitti Date: Tue, 4 Aug 2015 13:27:28 +0900 Subject: [PATCH] Stop DHCP if it times out. This was not necessary in L, but it is necessary after https://partner-android-review.googlesource.com/#/c/205415/ . Bug: 22936203 Change-Id: I24a96c33e5bb375f36217a1c2cec2076eb5ac8b4 --- .../com/android/server/ethernet/EthernetNetworkFactory.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java b/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java index 0c4f57d6aa..4503197fc6 100644 --- a/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java +++ b/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java @@ -262,7 +262,7 @@ class EthernetNetworkFactory { // TODO: Handle DHCP renew. Thread dhcpThread = new Thread(new Runnable() { public void run() { - if (DBG) Log.i(TAG, "dhcpThread(+" + mIface + "): mNetworkInfo=" + mNetworkInfo); + if (DBG) Log.i(TAG, "dhcpThread(" + mIface + "): mNetworkInfo=" + mNetworkInfo); LinkProperties linkProperties; IpConfiguration config = mEthernetManager.getConfiguration(); @@ -287,6 +287,9 @@ class EthernetNetworkFactory { // set our score lower than any network could go // so we get dropped. mFactory.setScoreFilter(-1); + // If DHCP timed out (as opposed to failing), the DHCP client will still be + // running, because in M we changed its timeout to infinite. Stop it now. + NetworkUtils.stopDhcp(mIface); return; } linkProperties = dhcpResults.toLinkProperties(mIface);