diff --git a/hal/audio_extn/fm.c b/hal/audio_extn/fm.c
index 53499b9..eeba404 100644
--- a/hal/audio_extn/fm.c
+++ b/hal/audio_extn/fm.c
@@ -50,7 +50,7 @@
     struct pcm *fm_pcm_rx;
     struct pcm *fm_pcm_tx;
     bool is_fm_running;
-    int fm_volume;
+    float fm_volume;
 };
 
 static struct fm_module fmmod = {
@@ -66,7 +66,7 @@
     struct mixer_ctl *ctl;
     const char *mixer_ctl_name = "Internal FM RX Volume";
 
-    ALOGD("%s: entry", __func__);
+    ALOGV("%s: entry", __func__);
     ALOGD("%s: (%f)\n", __func__, value);
 
     if (value < 0.0) {
@@ -77,8 +77,7 @@
         value = 1.0;
     }
     vol  = lrint((value * 0x2000) + 0.5);
-
-    fmmod.fm_volume = vol;
+    fmmod.fm_volume = value;
 
     if (!fmmod.is_fm_running) {
         ALOGV("%s: FM not active, ignoring set_fm_volume call", __func__);
@@ -92,9 +91,9 @@
               __func__, mixer_ctl_name);
         return -EINVAL;
     }
-    mixer_ctl_set_value(ctl, 0, fmmod.fm_volume);
+    mixer_ctl_set_value(ctl, 0, vol);
 
-    ALOGD("%s: exit", __func__);
+    ALOGV("%s: exit", __func__);
     return ret;
 }
 
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index af93782..a207c2f 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -1380,6 +1380,14 @@
         str_parms_add_str(reply, AUDIO_PARAMETER_KEY_FLUENCE_TYPE, value);
     }
 
+    memset(value, 0, sizeof(value));
+    ret = str_parms_get_str(query, AUDIO_PARAMETER_KEY_SLOWTALK,
+                            value, sizeof(value));
+    if (ret >= 0) {
+        str_parms_add_int(reply, AUDIO_PARAMETER_KEY_SLOWTALK,
+                          my_data->slowtalk);
+    }
+
     ALOGV("%s: exit: returns - %s", __func__, str_parms_to_str(reply));
 }
 
