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