diff options
author | Junaid Babu <junaidvayoli@gmail.com> | 2019-12-17 13:56:26 +0900 |
---|---|---|
committer | Junaid Babu <junaidvayoli@gmail.com> | 2019-12-17 15:09:01 +0900 |
commit | 64ba6b016cff7aae69da0af9430bf77eaeeefd30 (patch) | |
tree | a827ffffd1b064f46989385fe3dc9ce4a9a556c3 | |
parent | c7338559d3b282f2fc3e16e4ca192af7974f9298 (diff) | |
download | ethernet-64ba6b016cff7aae69da0af9430bf77eaeeefd30.tar.gz |
Fix refCount check at releaseNetworkFor
When releaseNetworkFor is called, refCount should be equal to 1 for
network.stop() to be called. This is the same logic that is followed by
WifiNetworkFactory also.
In the current code, when refCount is 2 and releaseNetworkFor() is called,
network.stop() will be executed and will stop Ethernet
Bug: 146089778
Test: build and boot OK
Change-Id: Ib7d1b488a2943364a8ba4a89eec5de4c33cf1d5a
-rw-r--r-- | java/com/android/server/ethernet/EthernetNetworkFactory.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/java/com/android/server/ethernet/EthernetNetworkFactory.java b/java/com/android/server/ethernet/EthernetNetworkFactory.java index 3cda13f..11c991d 100644 --- a/java/com/android/server/ethernet/EthernetNetworkFactory.java +++ b/java/com/android/server/ethernet/EthernetNetworkFactory.java @@ -120,11 +120,11 @@ public class EthernetNetworkFactory extends NetworkFactory { protected void releaseNetworkFor(NetworkRequest networkRequest) { NetworkInterfaceState network = networkForRequest(networkRequest); if (network == null) { - Log.e(TAG, "needNetworkFor, failed to get a network for " + networkRequest); + Log.e(TAG, "releaseNetworkFor, failed to get a network for " + networkRequest); return; } - if (--network.refCount == 1) { + if (--network.refCount == 0) { network.stop(); } } |