st-hal: Fix concurrency issue for non-dedicated path

If concurrency is not enabled and dedicated path is not being used,
the sound trigger session should be paused while audio capture is
active. After such pause, the LPI transition was resuming the
session which is erroneous behavior. This change also updates the
policy for moving to Non-LPI due to concurrency. For audio capture
usecases, the lower layers will exit island mode but the sound
trigger session will not transition to Non-LPI. Audio playback,
voice call, and voip call will all transition the sound trigger
sessions to Non-LPI and enable EC.
diff --git a/sound_trigger_hw.c b/sound_trigger_hw.c
index 11b7274..0489eb8 100644
--- a/sound_trigger_hw.c
+++ b/sound_trigger_hw.c
@@ -836,6 +836,8 @@
                 p_ses = node_to_item(p_ses_node, st_session_t, list_node);
                 st_session_pause(p_ses);
             }
+            pthread_mutex_unlock(&stdev->lock);
+            return;
         } else {
             if (event_type == AUDIO_EVENT_CAPTURE_DEVICE_INACTIVE) {
                 list_for_each(p_ses_node, &stdev->sound_model_list) {
diff --git a/st_hw_common.c b/st_hw_common.c
index 14230c4..69d71f6 100644
--- a/st_hw_common.c
+++ b/st_hw_common.c
@@ -202,7 +202,8 @@
         return false;
     }
 
-    if (stdev->rx_concurrency_active || stdev->tx_concurrency_active) {
+    if (stdev->rx_concurrency_active || stdev->conc_voice_active ||
+        stdev->conc_voip_active) {
         ALOGD("%s: lpi NOT supported due to concurrency", __func__);
         return false;
     }