diff --git a/hal/audio_extn/spkr_protection.c b/hal/audio_extn/spkr_protection.c
index 2c47af8..15f2a3a 100644
--- a/hal/audio_extn/spkr_protection.c
+++ b/hal/audio_extn/spkr_protection.c
@@ -575,8 +575,6 @@
         handle.pcm_tx = NULL;
         /* Clear TX calibration to handset mic */
         if (disable_tx) {
-            uc_info_tx->id = USECASE_AUDIO_RECORD;
-            uc_info_tx->type = PCM_CAPTURE;
             uc_info_tx->in_snd_device = SND_DEVICE_IN_HANDSET_MIC;
             uc_info_tx->out_snd_device = SND_DEVICE_NONE;
             platform_send_audio_calibration(adev->platform,
@@ -1090,8 +1088,6 @@
 exit:
    /* Clear VI feedback cal and replace with handset MIC  */
     if (disable_tx) {
-        uc_info_tx->id = USECASE_AUDIO_RECORD;
-        uc_info_tx->type = PCM_CAPTURE;
         uc_info_tx->in_snd_device = SND_DEVICE_IN_HANDSET_MIC;
         uc_info_tx->out_snd_device = SND_DEVICE_NONE;
         platform_send_audio_calibration(adev->platform,
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index 223f1d8..d12959d 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -3124,7 +3124,8 @@
     if (ret >= 0) {
         int isallowed = 1; /*true*/
 
-        if(voice_is_in_call(my_data->adev)) {
+        if(voice_is_in_call(my_data->adev) ||
+             (SND_CARD_STATE_OFFLINE == get_snd_card_state(my_data->adev))) {
             char *decoder_mime_type = value;
 
             //check if unsupported mime type or not
@@ -3133,16 +3134,12 @@
                 for (i = 0; i < sizeof(dsp_only_decoders_mime)/sizeof(dsp_only_decoders_mime[0]); i++) {
                     if (!strncmp(decoder_mime_type, dsp_only_decoders_mime[i],
                     strlen(dsp_only_decoders_mime[i]))) {
-                       ALOGE("Rejecting request for DSP only session from HAL during voice call");
+                       ALOGE("Rejecting request for DSP only session from HAL during voice call/SSR state");
                        isallowed = 0;
                        break;
                     }
                 }
             }
-        } else if (SND_CARD_STATE_OFFLINE == get_snd_card_state(my_data->adev)) {
-            //Do not allow DSP session during SSR
-            ALOGI("Rejecting request for DSP only session from HAL due to SSR");
-            isallowed = 0;
         }
         str_parms_add_int(reply, AUDIO_PARAMETER_IS_HW_DECODER_SESSION_ALLOWED, isallowed);
     }
