[alsa-devel] [PATCH 1/5] ALSA: snd-usb: implement new endpoint streaming model
Clemens Ladisch
clemens at ladisch.de
Wed Nov 2 11:26:37 CET 2011
Daniel Mack wrote:
> +void snd_usb_handle_sync_urb(struct snd_usb_endpoint *ep,
> +{
> + if (snd_usb_endpoint_implict_feedback_sink(ep) && ep->use_count > 0) {
> ...
> + for (i = 0; i < ep->nurbs; i++)
> + if (!test_and_set_bit(i, &ep->active_mask)) {
> + out_urb = ep->urb[i].urb;
> + break;
> + }
> +
> + if (!out_urb) {
> + snd_printk(KERN_ERR "Unable to find an urb for playback (nurbs %d)\n",
> + ep->nurbs);
AFAICS the driver tries for all URBS to be queued at all times.
So if the HC driver completes a sync URB before the corresponding
playback URB, it may be possible for this error to happen.
Regards,
Clemens
More information about the Alsa-devel
mailing list