hal: Fix for mute issue on APQ8096 + MDM targets
Remove the need for mixer control to be present
to preform a mute through CSD.
Change-Id: I925221a92cb59289329a1271bfe7c87d5e9dc7c0
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index caa093e..f7a0335 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -3359,10 +3359,11 @@
if (!ctl) {
ALOGE("%s: Could not get ctl for mixer cmd - %s",
__func__, mixer_ctl_name);
- return -EINVAL;
+ ret = -EINVAL;
+ } else {
+ ALOGV("%s Setting voice volume index: %d",__func__, set_values[0]);
+ mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values));
}
- ALOGV("Setting voice volume index: %d", set_values[0]);
- mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values));
if (my_data->csd != NULL) {
ret = my_data->csd->volume(ALL_SESSION_VSID, volume,
@@ -3390,10 +3391,11 @@
if (!ctl) {
ALOGE("%s: Could not get ctl for mixer cmd - %s",
__func__, mixer_ctl_name);
- return -EINVAL;
+ ret = -EINVAL;
+ } else {
+ ALOGV("%s: Setting voice mute state: %d",__func__, state);
+ mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values));
}
- ALOGV("Setting voice mute state: %d", state);
- mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values));
if (my_data->csd != NULL) {
ret = my_data->csd->mic_mute(ALL_SESSION_VSID, state,
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index b8fbd7c..2b49379 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -3136,10 +3136,11 @@
if (!ctl) {
ALOGE("%s: Could not get ctl for mixer cmd - %s",
__func__, mixer_ctl_name);
- return -EINVAL;
+ ret = -EINVAL;
+ } else {
+ ALOGV("%s: Setting voice volume index: %d", __func__, set_values[0]);
+ mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values));
}
- ALOGV("Setting voice volume index: %d", set_values[0]);
- mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values));
if (my_data->csd != NULL) {
ret = my_data->csd->volume(ALL_SESSION_VSID, volume,
@@ -3167,10 +3168,11 @@
if (!ctl) {
ALOGE("%s: Could not get ctl for mixer cmd - %s",
__func__, mixer_ctl_name);
- return -EINVAL;
+ ret = -EINVAL;
+ } else {
+ ALOGV("%s Setting voice mute state: %d", __func__, state);
+ mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values));
}
- ALOGV("Setting voice mute state: %d", state);
- mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values));
if (my_data->csd != NULL) {
ret = my_data->csd->mic_mute(ALL_SESSION_VSID, state,