diff --git a/configs/msmsteppe/mixer_paths_tavil.xml b/configs/msmsteppe/mixer_paths_tavil.xml
index 34d6a6a..4ede083 100644
--- a/configs/msmsteppe/mixer_paths_tavil.xml
+++ b/configs/msmsteppe/mixer_paths_tavil.xml
@@ -342,15 +342,15 @@
     <ctl name="ADC2 Volume" value="12" />
     <ctl name="ADC3 Volume" value="0" />
     <ctl name="ADC4 Volume" value="0" />
-    <ctl name="DEC0 Volume" value="102" />
-    <ctl name="DEC1 Volume" value="102" />
-    <ctl name="DEC2 Volume" value="102" />
-    <ctl name="DEC3 Volume" value="102" />
-    <ctl name="DEC4 Volume" value="102" />
-    <ctl name="DEC5 Volume" value="102" />
-    <ctl name="DEC6 Volume" value="102" />
-    <ctl name="DEC7 Volume" value="102" />
-    <ctl name="DEC8 Volume" value="102" />
+    <ctl name="DEC0 Volume" value="84" />
+    <ctl name="DEC1 Volume" value="84" />
+    <ctl name="DEC2 Volume" value="84" />
+    <ctl name="DEC3 Volume" value="84" />
+    <ctl name="DEC4 Volume" value="84" />
+    <ctl name="DEC5 Volume" value="84" />
+    <ctl name="DEC6 Volume" value="84" />
+    <ctl name="DEC7 Volume" value="84" />
+    <ctl name="DEC8 Volume" value="84" />
 
     <!-- Compander controls -->
     <ctl name="COMP1 Switch" value="1" />
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index 3a3dafe..2539ed1 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -2485,8 +2485,6 @@
                 strdup("WSA_CDC_DMA_RX_0 Format");
             my_data->current_backend_cfg[DEFAULT_CODEC_BACKEND].samplerate_mixer_ctl =
                 strdup("WSA_CDC_DMA_RX_0 SampleRate");
-            my_data->current_backend_cfg[DEFAULT_CODEC_BACKEND].channels_mixer_ctl =
-                strdup("WSA_CDC_DMA_RX_0 Channels");
             my_data->current_backend_cfg[DEFAULT_CODEC_TX_BACKEND].bitwidth_mixer_ctl =
                 strdup("TX_CDC_DMA_TX_3 Format");
             my_data->current_backend_cfg[DEFAULT_CODEC_TX_BACKEND].samplerate_mixer_ctl =
@@ -3242,27 +3240,6 @@
     return ret;
 }
 
-static bool check_snd_device_is_speaker(snd_device_t snd_device)
-{
-    bool ret = false;
-
-    if (snd_device == SND_DEVICE_OUT_SPEAKER ||
-        snd_device == SND_DEVICE_OUT_SPEAKER_WSA ||
-        snd_device == SND_DEVICE_OUT_SPEAKER_VBAT ||
-        snd_device == SND_DEVICE_OUT_SPEAKER_PROTECTED ||
-        snd_device == SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT ||
-        snd_device == SND_DEVICE_OUT_SPEAKER_PROTECTED_RAS ||
-        snd_device == SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT_RAS ||
-        snd_device == SND_DEVICE_OUT_VOICE_SPEAKER ||
-        snd_device == SND_DEVICE_OUT_VOICE_SPEAKER_WSA ||
-        snd_device == SND_DEVICE_OUT_VOICE_SPEAKER_VBAT ||
-        snd_device == SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED ||
-        snd_device == SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED_VBAT ) {
-        ret = true;
-    }
-    return ret;
-}
-
 int check_hdset_combo_device(snd_device_t snd_device)
 {
     int ret = false;
@@ -6248,9 +6225,6 @@
         }
     }
 
-    if (!(hw_info_is_stereo_spkr(my_data->hw_info)) && check_snd_device_is_speaker(snd_device))
-        channels = 1;
-
     /* Native playback is preferred for Headphone/HS device over 192Khz */
     if (!voice_call_active && codec_device_supports_native_playback(usecase->devices)) {
         if (audio_is_true_native_stream_active(adev)) {
@@ -6391,7 +6365,6 @@
     // Force routing if the expected bitwdith or samplerate
     // is not same as current backend comfiguration
     if ((bit_width != my_data->current_backend_cfg[backend_idx].bit_width) ||
-        (channels != my_data->current_backend_cfg[backend_idx].channels) ||
         (sample_rate != my_data->current_backend_cfg[backend_idx].sample_rate) ||
          passthrough_enabled || channels_updated || service_interval_update ) {
         backend_cfg->bit_width = bit_width;
