Merge "configs: sdm660: update hal buffering configuration"
diff --git a/hal/audio_extn/usb.c b/hal/audio_extn/usb.c
index 278d85f..a807f03 100644
--- a/hal/audio_extn/usb.c
+++ b/hal/audio_extn/usb.c
@@ -1137,8 +1137,14 @@
             usb_card_info->usb_card = card;
             usb_card_info->usb_device_type = device;
             usb_get_sidetone_mixer(usb_card_info);
-            if (!usb_get_device_cap_config(usb_card_info, card))
-                usbmod->is_capture_supported = true;
+            struct usb_card_config *usb_card_info_temp = NULL;
+            usb_card_info_temp = calloc(1, sizeof(struct usb_card_config));
+            if (usb_card_info_temp != NULL) {
+                list_init(&usb_card_info_temp->usb_device_conf_list);
+                if (!usb_get_capability(USB_CAPTURE, usb_card_info_temp, card))
+                    usbmod->is_capture_supported = true;
+                free(usb_card_info_temp);
+            }
             list_add_tail(&usbmod->usb_card_conf_list, &usb_card_info->list);
             goto exit;
         }
diff --git a/post_proc/volume_listener.c b/post_proc/volume_listener.c
index d4c3753..9fc8377 100644
--- a/post_proc/volume_listener.c
+++ b/post_proc/volume_listener.c
@@ -779,9 +779,6 @@
     int status = -EINVAL;
     bool recompute_flag = false;
     int active_stream_count = 0;
-    uint32_t session_id;
-    uint32_t stream_type;
-    effect_uuid_t uuid;
 
     ALOGV("%s context %p", __func__, handle);
 
@@ -789,18 +786,12 @@
         return status;
     }
     pthread_mutex_lock(&vol_listner_init_lock);
-    session_id = recv_contex->session_id;
-    stream_type = recv_contex->stream_type;
-    uuid = recv_contex->desc->uuid;
 
     // check if the handle/context provided is valid
     list_for_each(node, &vol_effect_list) {
         context = node_to_item(node, struct vol_listener_context_s, effect_list_node);
-        if ((memcmp(&(context->desc->uuid), &uuid, sizeof(effect_uuid_t)) == 0)
-            && (context->session_id == session_id)
-            && (context->stream_type == stream_type)) {
+        if (context == recv_contex) {
             ALOGV("--- Found something to remove ---");
-            list_remove(node);
             PRINT_STREAM_TYPE(context->stream_type);
             if (verify_context(context)) {
                 recompute_flag = true;