@@ -592,16 +592,25 @@ int u_audio_start_capture(struct g_audio *audio_dev)
592
592
struct usb_ep * ep , * ep_fback ;
593
593
struct uac_rtd_params * prm ;
594
594
struct uac_params * params = & audio_dev -> params ;
595
- int req_len , i ;
595
+ int req_len , i , ret ;
596
596
597
597
prm = & uac -> c_prm ;
598
598
dev_dbg (dev , "start capture with rate %d\n" , prm -> srate );
599
599
ep = audio_dev -> out_ep ;
600
- config_ep_by_speed (gadget , & audio_dev -> func , ep );
600
+ ret = config_ep_by_speed (gadget , & audio_dev -> func , ep );
601
+ if (ret < 0 ) {
602
+ dev_err (dev , "config_ep_by_speed for out_ep failed (%d)\n" , ret );
603
+ return ret ;
604
+ }
605
+
601
606
req_len = ep -> maxpacket ;
602
607
603
608
prm -> ep_enabled = true;
604
- usb_ep_enable (ep );
609
+ ret = usb_ep_enable (ep );
610
+ if (ret < 0 ) {
611
+ dev_err (dev , "usb_ep_enable failed for out_ep (%d)\n" , ret );
612
+ return ret ;
613
+ }
605
614
606
615
for (i = 0 ; i < params -> req_number ; i ++ ) {
607
616
if (!prm -> reqs [i ]) {
@@ -629,9 +638,18 @@ int u_audio_start_capture(struct g_audio *audio_dev)
629
638
return 0 ;
630
639
631
640
/* Setup feedback endpoint */
632
- config_ep_by_speed (gadget , & audio_dev -> func , ep_fback );
641
+ ret = config_ep_by_speed (gadget , & audio_dev -> func , ep_fback );
642
+ if (ret < 0 ) {
643
+ dev_err (dev , "config_ep_by_speed in_ep_fback failed (%d)\n" , ret );
644
+ return ret ; // TODO: Clean up out_ep
645
+ }
646
+
633
647
prm -> fb_ep_enabled = true;
634
- usb_ep_enable (ep_fback );
648
+ ret = usb_ep_enable (ep_fback );
649
+ if (ret < 0 ) {
650
+ dev_err (dev , "usb_ep_enable failed for in_ep_fback (%d)\n" , ret );
651
+ return ret ; // TODO: Clean up out_ep
652
+ }
635
653
req_len = ep_fback -> maxpacket ;
636
654
637
655
req_fback = usb_ep_alloc_request (ep_fback , GFP_ATOMIC );
@@ -687,13 +705,17 @@ int u_audio_start_playback(struct g_audio *audio_dev)
687
705
struct uac_params * params = & audio_dev -> params ;
688
706
unsigned int factor ;
689
707
const struct usb_endpoint_descriptor * ep_desc ;
690
- int req_len , i ;
708
+ int req_len , i , ret ;
691
709
unsigned int p_pktsize ;
692
710
693
711
prm = & uac -> p_prm ;
694
712
dev_dbg (dev , "start playback with rate %d\n" , prm -> srate );
695
713
ep = audio_dev -> in_ep ;
696
- config_ep_by_speed (gadget , & audio_dev -> func , ep );
714
+ ret = config_ep_by_speed (gadget , & audio_dev -> func , ep );
715
+ if (ret < 0 ) {
716
+ dev_err (dev , "config_ep_by_speed for in_ep failed (%d)\n" , ret );
717
+ return ret ;
718
+ }
697
719
698
720
ep_desc = ep -> desc ;
699
721
/*
@@ -720,7 +742,11 @@ int u_audio_start_playback(struct g_audio *audio_dev)
720
742
uac -> p_residue_mil = 0 ;
721
743
722
744
prm -> ep_enabled = true;
723
- usb_ep_enable (ep );
745
+ ret = usb_ep_enable (ep );
746
+ if (ret < 0 ) {
747
+ dev_err (dev , "usb_ep_enable failed for in_ep (%d)\n" , ret );
748
+ return ret ;
749
+ }
724
750
725
751
for (i = 0 ; i < params -> req_number ; i ++ ) {
726
752
if (!prm -> reqs [i ]) {
0 commit comments