[alsa-devel] [PATCH 1/5] ALSA: snd-usb: implement new endpoint streaming model

Daniel Mack zonque at gmail.com
Wed Nov 2 15:29:19 CET 2011


On 11/02/2011 11:26 AM, Clemens Ladisch wrote:
> 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.

Hmm, no, not for the "implicit feedback" case. In this mode, we don't 
queue any output urbs on startup but wait for the capture urbs to arrive 
and then queue from there. So this should be ok, right?


Daniel


More information about the Alsa-devel mailing list