From 352bc74d68666fb53c93401cd556bcff6d0990d9 Mon Sep 17 00:00:00 2001 From: Hyundo Moon Date: Thu, 18 Nov 2021 04:18:22 +0000 Subject: [PATCH] Fix deadlock in MediaRouterService The deadlock was introduced by the previously merged CL "2942e4b: MediaRouter: Route setBluetoothA2dpOn() via MediaRouterService". Bug: 181962322, Bug: 206160544 Change-Id: I3936b8345e8df20a51400a9083d46872e6801568 Test: Builds successfully --- .../java/com/android/server/media/MediaRouterService.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/media/MediaRouterService.java b/services/core/java/com/android/server/media/MediaRouterService.java index 9be618cb7addc..1405dc45abbd7 100644 --- a/services/core/java/com/android/server/media/MediaRouterService.java +++ b/services/core/java/com/android/server/media/MediaRouterService.java @@ -100,6 +100,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub // State guarded by mLock. private final Object mLock = new Object(); + private final SparseArray mUserRecords = new SparseArray<>(); private final ArrayMap mAllClientRecords = new ArrayMap<>(); private int mCurrentUserId = -1; @@ -345,9 +346,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub final long token = Binder.clearCallingIdentity(); try { - synchronized (mLock) { - mAudioService.setBluetoothA2dpOn(on); - } + mAudioService.setBluetoothA2dpOn(on); } catch (RemoteException ex) { Slog.w(TAG, "RemoteException while calling setBluetoothA2dpOn. on=" + on); } finally {