summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--hal/audio_extn/usb.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/hal/audio_extn/usb.c b/hal/audio_extn/usb.c
index 278d85ff..a807f031 100644
--- a/hal/audio_extn/usb.c
+++ b/hal/audio_extn/usb.c
@@ -1137,8 +1137,14 @@ void audio_extn_usb_add_device(audio_devices_t device, int card)
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;
}