[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