hal: msm8916: Fix no Tx issue during multi party HFP calls
- When an incoming MT HFP call is accepted during an ongoing
MO HFP call, the MO call goes to held state. Later, if this held
call is rejected, Tx is not heard at the far end of the incoming
call from the moment the MO call is rejected.
- When the held call is rejected, the input device gets disabled due
to which Tx samples are not captured.
- Fix the issue by ensuring that the input device is not set to none when
HFP is active.
CRs-Fixed: 656928
Change-Id: I657b7e2ffbc571dfbc0b10ffced07fdb3f008532
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index d2a6807..4eb733f 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -1318,7 +1318,7 @@
ALOGV("%s: enter: out_device(%#x) in_device(%#x)",
__func__, out_device, in_device);
if ((out_device != AUDIO_DEVICE_NONE) && ((mode == AUDIO_MODE_IN_CALL) ||
- voice_extn_compress_voip_is_active(adev))) {
+ voice_extn_compress_voip_is_active(adev) || audio_extn_hfp_is_active(adev))) {
if ((adev->voice.tty_mode != TTY_MODE_OFF) &&
!voice_extn_compress_voip_is_active(adev)) {
if (out_device & AUDIO_DEVICE_OUT_WIRED_HEADPHONE ||