[alsa-devel] [EXT] Re: Simultaneous play/record on implicit feedback device causes 'endpoint in use' error

Takashi Iwai tiwai at suse.de
Fri Nov 2 16:57:15 CET 2018


On Wed, 31 Oct 2018 20:45:07 +0100,
Robert Giaraffa wrote:
> 
> Thank you very much for your prompt response.
> 
> I tested the CP2615 and Fast Track Ultra by running aplay and arecord
> sequentially on my RPi2 v4.14.72 (with patched snd-usb-audio.ko that includes
> implicit feedback quirk for CP2615).  Although there were minor differences in
> the system logs for the two devices (e.g. ‘cannot submit urb’), but otherwise
> both devices behaved the same: whichever operation is started last resulted in
> the 'Endpoint already in use' error, regardless of sequence.  Detailed info
> below:

OK, so we obviously don't support the full duplex in this mode.

As a first step, could you try the simple patch below, and test in a
sequence record -> playback?  At least it should skip the check, and
proceed further.


thanks,

Takashi

--- a/sound/usb/pcm.c
+++ b/sound/usb/pcm.c
@@ -639,6 +639,10 @@ static int configure_sync_endpoint(struct snd_usb_substream *subs)
 						   subs->cur_audiofmt,
 						   NULL);
 
+	if (subs->sync_endpoint->type == SND_USB_ENDPOINT_TYPE_DATA &&
+	    subs->sync_endpoint->use_count)
+		return 0;
+
 	/* Try to find the best matching audioformat. */
 	list_for_each_entry(fp, &sync_subs->fmt_list, list) {
 		int score = match_endpoint_audioformats(subs,


More information about the Alsa-devel mailing list