alsa_sound: change voice-call stop sequence
When application processor is paired with an external modem, stop command should be sent to the DSP on the modem before closing the Slimbus channels on the application processor. Bug: 7313016 Change-Id: Ibafeaf9a9badbf32cc955c4e8b5c81e5efdcbb0c Signed-off-by: Iliyan Malchev <malchev@google.com>
This commit is contained in:
parent
89c224e298
commit
0f5426b31b
|
@ -1088,6 +1088,21 @@ static status_t s_close(alsa_handle_t *handle)
|
|||
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 @@ static status_t s_close(alsa_handle_t *handle)
|
|||
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)) ||
|
||||
|
|
Loading…
Reference in New Issue