summaryrefslogtreecommitdiffstats
path: root/services/java/com
diff options
context:
space:
mode:
authorIrfan Sheriff <isheriff@google.com>2011-01-17 12:38:30 -0800
committerIrfan Sheriff <isheriff@google.com>2011-01-17 13:50:48 -0800
commit29552095e19e3faf2006ac1051da41d9bd212d6f (patch)
tree67c2b6fca9f1b046a0fc070a504a59c94c5e3cd5 /services/java/com
parentec7c9ff0bb1c98cb8bec3ec7bdacbae3a434fa53 (diff)
downloadframeworks_base-29552095e19e3faf2006ac1051da41d9bd212d6f.zip
frameworks_base-29552095e19e3faf2006ac1051da41d9bd212d6f.tar.gz
frameworks_base-29552095e19e3faf2006ac1051da41d9bd212d6f.tar.bz2
Pick an upstream interface with valid IP config
As a work around for the issue of picking the wrong interface, add a check for selecting an upstream interface that has a valid IP configuration Bug: 3362306 Change-Id: I01084517cff756c97660b2cfbfa8e9bf26673148
Diffstat (limited to 'services/java/com')
-rw-r--r--services/java/com/android/server/connectivity/Tethering.java8
1 files changed, 4 insertions, 4 deletions
diff --git a/services/java/com/android/server/connectivity/Tethering.java b/services/java/com/android/server/connectivity/Tethering.java
index 134b91e..dd9db9a 100644
--- a/services/java/com/android/server/connectivity/Tethering.java
+++ b/services/java/com/android/server/connectivity/Tethering.java
@@ -1233,18 +1233,18 @@ public class Tethering extends INetworkManagementEventObserver.Stub {
for (String iface : ifaces) {
for (String regex : mUpstreamIfaceRegexs) {
if (iface.matches(regex)) {
- // verify it is up!
+ // verify it is active
InterfaceConfiguration ifcg = null;
try {
ifcg = service.getInterfaceConfig(iface);
+ if (ifcg.isActive()) {
+ return iface;
+ }
} catch (Exception e) {
Log.e(TAG, "Error getting iface config :" + e);
// ignore - try next
continue;
}
- if (ifcg.interfaceFlags.contains("up")) {
- return iface;
- }
}
}
}