diff options
-rw-r--r-- | hal/audio_extn/usb.c | 10 |
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; } |