Wifi: Fix synchronization bug in multicast lock.
Signed-off-by: Mike Lockwood <lockwood@android.com>
diff --git a/services/java/com/android/server/WifiService.java b/services/java/com/android/server/WifiService.java
index d4e57d2..fae987a 100644
--- a/services/java/com/android/server/WifiService.java
+++ b/services/java/com/android/server/WifiService.java
@@ -1889,7 +1889,9 @@
// our new size == 1 (first call), but this function won't
// be called often and by making the stopPacket call each
// time we're less fragile and self-healing.
- WifiNative.stopPacketFiltering();
+ synchronized (mWifiStateTracker) {
+ WifiNative.stopPacketFiltering();
+ }
}
int uid = Binder.getCallingUid();
@@ -1925,7 +1927,9 @@
removed.unlinkDeathRecipient();
}
if (mMulticasters.size() == 0) {
- WifiNative.startPacketFiltering();
+ synchronized (mWifiStateTracker) {
+ WifiNative.startPacketFiltering();
+ }
}
Long ident = Binder.clearCallingIdentity();