diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index 58f7927..7944540 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -732,8 +732,8 @@
     int mode = CAL_MODE_RTAC;
     struct listnode *node;
     struct audio_usecase *usecase;
-    bool valid_uc_type = false;
-    bool valid_dev = false;
+    bool valid_uc_type;
+    bool valid_dev;
 
     if (my_data->acdb_send_gain_dep_cal == NULL) {
         ALOGE("%s: dlsym error for acdb_send_gain_dep_cal", __func__);
@@ -748,12 +748,17 @@
         // find the current active sound device
         list_for_each(node, &adev->usecase_list) {
             usecase = node_to_item(node, struct audio_usecase, list);
-            valid_uc_type =  usecase->type == PCM_PLAYBACK;
-            audio_devices_t dev = usecase->stream.out->devices;
-            valid_dev = (dev == AUDIO_DEVICE_OUT_SPEAKER ||
-                         dev == AUDIO_DEVICE_OUT_WIRED_HEADSET ||
-                         dev == AUDIO_DEVICE_OUT_WIRED_HEADPHONE);
-             if (usecase != NULL && valid_uc_type && valid_dev) {
+            LOG_ALWAYS_FATAL_IF(usecase == NULL,
+                                "unxpected NULL usecase in usecase_list");
+            valid_uc_type = usecase->type == PCM_PLAYBACK;
+            valid_dev = false;
+            if (valid_uc_type) {
+                audio_devices_t dev = usecase->stream.out->devices;
+                valid_dev = (dev == AUDIO_DEVICE_OUT_SPEAKER ||
+                             dev == AUDIO_DEVICE_OUT_WIRED_HEADSET ||
+                             dev == AUDIO_DEVICE_OUT_WIRED_HEADPHONE);
+            }
+            if (valid_dev) {
                  ALOGV("%s: out device is %d", __func__,  usecase->out_snd_device);
                  if (audio_extn_spkr_prot_is_enabled()) {
                     acdb_dev_id = audio_extn_spkr_prot_get_acdb_id(usecase->out_snd_device);
diff --git a/hal/platform_api.h b/hal/platform_api.h
index 98e4223..e500da5 100644
--- a/hal/platform_api.h
+++ b/hal/platform_api.h
@@ -18,7 +18,7 @@
 #define AUDIO_PLATFORM_API_H
 
 #include "voice.h"
-#define MAX_VOLUME_CAL_STEPS 15
+#define MAX_VOLUME_CAL_STEPS 25
 #define CODEC_BACKEND_DEFAULT_SAMPLE_RATE 48000
 #define CODEC_BACKEND_DEFAULT_BIT_WIDTH 16
 #define CODEC_BACKEND_DEFAULT_CHANNELS 2
