hal: fix to set tty mode properly
If set parameters API called with key "tty_mode" and
MULTI_VOICE_SESSION_ENABLED flag is not enabled then tty mode is
not executed because voice_extn_set_parameters returns error(-ENOSYS).
Fix by ignore -ENOSYS return code for voice_extn_set_parameters
and voice_extn_compress_voip_set_parameters.
Change-Id: Id2308b2218fdf74e420ecbe25eeadd49756494f1
diff --git a/hal/voice.c b/hal/voice.c
index 33e0d2c..a5826e6 100644
--- a/hal/voice.c
+++ b/hal/voice.c
@@ -410,12 +410,20 @@
ALOGV_IF(kv_pairs != NULL, "%s: enter: %s", __func__, kv_pairs);
ret = voice_extn_set_parameters(adev, parms);
- if (ret != 0)
- goto done;
+ if (ret != 0) {
+ if (ret == -ENOSYS)
+ ret = 0;
+ else
+ goto done;
+ }
ret = voice_extn_compress_voip_set_parameters(adev, parms);
- if (ret != 0)
- goto done;
+ if (ret != 0) {
+ if (ret == -ENOSYS)
+ ret = 0;
+ else
+ goto done;
+ }
err = str_parms_get_str(parms, AUDIO_PARAMETER_KEY_TTY_MODE, value, sizeof(value));
if (err >= 0) {
@@ -450,7 +458,7 @@
platform_start_incall_music_usecase(adev->platform);
else
platform_stop_incall_music_usecase(adev->platform);
- }
+ }
done:
ALOGV("%s: exit with code(%d)", __func__, ret);