audio:fix deadlock
"binder:6924_2" AudioFlinger::EffectChain::setMode_l wait for binder:6924_6
"binder:6924_3" android::AudioPolicyService::registerEffect wait for binder:6924_2
"binder:6924_6" AudioFlinger::EffectBase::updatePolicyState wait for binder:6924_3
Bug:245471420
Test: make
Change-Id: Ic6ea6bf85d8f5d6e890b9e18d9bb0603008cb78b
Signed-off-by: fengjnlan <fengjinlan@xiaomi.com>
diff --git a/services/audioflinger/Effects.cpp b/services/audioflinger/Effects.cpp
index fc3c07f..80da779 100644
--- a/services/audioflinger/Effects.cpp
+++ b/services/audioflinger/Effects.cpp
@@ -278,8 +278,8 @@
if (!doRegister && !(registered && doEnable)) {
return NO_ERROR;
}
- mPolicyLock.lock();
}
+ mPolicyLock.lock();
ALOGV("%s name %s id %d session %d doRegister %d registered %d doEnable %d enabled %d",
__func__, mDescriptor.name, mId, mSessionId, doRegister, registered, doEnable, enabled);
if (doRegister) {