hal: Avoid configurable mono for target with single speaker

Do not allow configurable mono speaker assignment for devices with
one speaker. For msm8998, avoid it for fluid variants.Also, fix typo
in selection of VOICE_SPEAKER_2_PROTECTED device during send_voice_cal.

CRs-Fixed: 1082853
Change-Id: I7124c7ca7424feea1f2e54bcb6bc581313df6259
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index 50e9f83..0f53792 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -4007,14 +4007,16 @@
 
     }
 
-    err = str_parms_get_str(parms, AUDIO_PARAMETER_KEY_MONO_SPEAKER, value, len);
-    if (err >= 0) {
-        if (!strncmp("left", value, sizeof("left")))
-            my_data->mono_speaker = SPKR_1;
-        else if (!strncmp("right", value, sizeof("right")))
-            my_data->mono_speaker = SPKR_2;
+    if (hw_info_is_stereo_spkr(my_data->hw_info)) {
+        err = str_parms_get_str(parms, AUDIO_PARAMETER_KEY_MONO_SPEAKER, value, len);
+        if (err >= 0) {
+            if (!strncmp("left", value, sizeof("left")))
+                my_data->mono_speaker = SPKR_1;
+            else if (!strncmp("right", value, sizeof("right")))
+                my_data->mono_speaker = SPKR_2;
 
-        str_parms_del(parms, AUDIO_PARAMETER_KEY_MONO_SPEAKER);
+            str_parms_del(parms, AUDIO_PARAMETER_KEY_MONO_SPEAKER);
+        }
     }
 
 #ifdef RECORD_PLAY_CONCURRENCY