am 0f5426b3: alsa_sound: change voice-call stop sequence
* commit '0f5426b31b9a15743e4621a972cccafc4087aa62':
alsa_sound: change voice-call stop sequence
diff --git a/alsa_sound/alsa_default.cpp b/alsa_sound/alsa_default.cpp
index 18a28d2..40d575c 100644
--- a/alsa_sound/alsa_default.cpp
+++ b/alsa_sound/alsa_default.cpp
@@ -1088,6 +1088,21 @@
handle->rxHandle = 0;
ALOGV("s_close: handle %p h %p", handle, h);
if (h) {
+ if ((!strcmp(handle->useCase, SND_USE_CASE_VERB_VOICECALL) ||
+ !strcmp(handle->useCase, SND_USE_CASE_MOD_PLAY_VOICE)) &&
+ platform_is_Fusion3()) {
+#ifdef QCOM_CSDCLIENT_ENABLED
+ if (csd_stop_voice == NULL) {
+ ALOGE("dlsym:Error:%s Loading csd_client_disable_device", dlerror());
+ } else {
+ err = csd_stop_voice();
+ if (err < 0) {
+ ALOGE("s_close: csd_client error %d\n", err);
+ }
+ }
+#endif
+ }
+
ALOGV("s_close rxHandle\n");
err = pcm_close(h);
if(err != NO_ERROR) {
@@ -1105,21 +1120,6 @@
ALOGE("s_close: pcm_close failed for handle with err %d", err);
}
- if ((!strcmp(handle->useCase, SND_USE_CASE_VERB_VOICECALL) ||
- !strcmp(handle->useCase, SND_USE_CASE_MOD_PLAY_VOICE)) &&
- platform_is_Fusion3()) {
-#ifdef QCOM_CSDCLIENT_ENABLED
- if (csd_stop_voice == NULL) {
- ALOGE("dlsym:Error:%s Loading csd_client_disable_device", dlerror());
- } else {
- err = csd_stop_voice();
- if (err < 0) {
- ALOGE("s_close: csd_client error %d\n", err);
- }
- }
-#endif
- }
-
disableDevice(handle);
} else if((!strcmp(handle->useCase, SND_USE_CASE_VERB_HIFI_LOW_POWER)) ||
(!strcmp(handle->useCase, SND_USE_CASE_MOD_PLAY_LPA)) ||