diff options
author | Irfan Sheriff <isheriff@google.com> | 2011-01-17 12:38:30 -0800 |
---|---|---|
committer | Irfan Sheriff <isheriff@google.com> | 2011-01-17 13:50:48 -0800 |
commit | 29552095e19e3faf2006ac1051da41d9bd212d6f (patch) | |
tree | 67c2b6fca9f1b046a0fc070a504a59c94c5e3cd5 /services/java/com | |
parent | ec7c9ff0bb1c98cb8bec3ec7bdacbae3a434fa53 (diff) | |
download | frameworks_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.java | 8 |
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; - } } } } |