DO NOT MERGE Tear down PAN if we can't successfully complete a DHCP request

after establishing a PANU connection.

http://b/13731957

Change-Id: I0c808d5196c66783b52942ba7b7212bdce9f1c07
This commit is contained in:
Ariel Gertzenstein
2014-04-02 20:36:57 -07:00
parent 0090082ed0
commit a2d8706ca8

View File

@@ -61,6 +61,9 @@ public class BluetoothTetheringDataTracker extends BaseNetworkStateTracker {
private static final boolean DBG = true;
private static final boolean VDBG = true;
// Event sent to the mBtdtHandler when DHCP fails so we can tear down the network.
private static final int EVENT_NETWORK_FAILED = 1;
private AtomicBoolean mTeardownRequested = new AtomicBoolean(false);
private AtomicBoolean mPrivateDnsRouteSet = new AtomicBoolean(false);
private AtomicInteger mDefaultGatewayAddr = new AtomicInteger(0);
@@ -328,6 +331,7 @@ public class BluetoothTetheringDataTracker extends BaseNetworkStateTracker {
}
if (!success) {
Log.e(TAG, "DHCP request error:" + NetworkUtils.getDhcpError());
mBtdtHandler.obtainMessage(EVENT_NETWORK_FAILED).sendToTarget();
return;
}
mLinkProperties = dhcpResults.linkProperties;
@@ -420,6 +424,10 @@ public class BluetoothTetheringDataTracker extends BaseNetworkStateTracker {
if (VDBG) Log.d(TAG, "got EVENT_NETWORK_DISCONNECTED, " + linkProperties);
mBtdt.stopReverseTether();
break;
case EVENT_NETWORK_FAILED:
if (VDBG) Log.d(TAG, "got EVENT_NETWORK_FAILED");
mBtdt.teardown();
break;
}
}
}