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
This commit is contained in:
Junaid Babu
2019-12-17 13:56:26 +09:00
parent 39e7509859
commit b92d1f5513

View File

@@ -120,11 +120,11 @@ public class EthernetNetworkFactory extends NetworkFactory {
protected void releaseNetworkFor(NetworkRequest networkRequest) { protected void releaseNetworkFor(NetworkRequest networkRequest) {
NetworkInterfaceState network = networkForRequest(networkRequest); NetworkInterfaceState network = networkForRequest(networkRequest);
if (network == null) { 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; return;
} }
if (--network.refCount == 1) { if (--network.refCount == 0) {
network.stop(); network.stop();
} }
} }