SpatializerThread: Fix EffectHandle release lock order inversion

Release the Spatializer EffectHandle on the PlaybackThread::threadLoop().

Test: Play spatial content with runtime lock order inversion detection
Bug: 315199903
Change-Id: I40bbb666cd511f7e128d6b9f5744627de8b7eb4e
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp
index 54880f8..0f02944 100644
--- a/services/audioflinger/Threads.cpp
+++ b/services/audioflinger/Threads.cpp
@@ -7881,6 +7881,15 @@
     }
 }
 
+void SpatializerThread::threadLoop_exit()
+{
+    // The Spatializer EffectHandle must be released on the PlaybackThread
+    // threadLoop() to prevent lock inversion in the SpatializerThread dtor.
+    mFinalDownMixer.clear();
+
+    PlaybackThread::threadLoop_exit();
+}
+
 // ----------------------------------------------------------------------------
 //      Record
 // ----------------------------------------------------------------------------