2 Nov
2011
2 Nov
'11
3:29 p.m.
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