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) {
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();
}
}