
Hi,
On 19 October 2012 23:24, Pete Leigh pete.leigh@gmail.com wrote:
If I take the working config, and disable CONFIG_USB_EHCI_TT_NEWSCHED, recompile, make install, reboot, then I get the familiar "cannot submit urb 0, error -28: not enough bandwidth" error, and trying to record off the UA-25 in audacity freezes audacity. If I then re-enable it, recompile, make install, reboot, then I don't see the error, and recording off the UA-25 works normally in audacity.
Just a bit more info on how this is happening in ehci-sched.c (with the ...NEWSCHED config unset),
It is hitting the Q_TYPE_QH case in tt_no_collision().
In there, (mask & uf_mask) evaluates to true, and thus 0 is returned to sitd_slot_ok() which in turn returns 0 to iso_stream_schedule().
It goes around this loop 3 times before giving the -ENOSPC error in iso_stream_schedule().
I'm seeing this from some debug printks I inserted:
[ 52.135325] knowsnogap: mask was: 1124206081, uf_mask is: 61444, mask is now: 1128465927 [ 52.135328] returning 0 in tt_no_collision (4) frame: 0, ehci->periodic_size 1024, period 1 [ 52.135329] returning 0 in sitd slot ok [ 52.135330] knowsnogap: mask was: 1124206081, uf_mask is: 30722, mask is now: 1128465927 [ 52.135330] returning 0 in tt_no_collision (4) frame: 0, ehci->periodic_size 1024, period 1 [ 52.135331] returning 0 in sitd slot ok [ 52.135331] knowsnogap: mask was: 1124206081, uf_mask is: 15361, mask is now: 1128465927 [ 52.135332] returning 0 in tt_no_collision (4) frame: 0, ehci->periodic_size 1024, period 1 [ 52.135333] returning 0 in sitd slot ok [ 52.135334] no room: iso resched full ffff8802158b3300 (now 899 max 9091) [ 52.135336] ALSA sound/usb/endpoint.c:877 cannot submit urb 0, error -28: not enough bandwidth
The "knowsnogap" message is from just before the break; in the Q_TYPE_QH case, showing the value of uf_mask and mask before and after "mask |= mask >> 8" is done
(I would have put these in hex.. I thought they'd be small! :)
the "returning 0 in tt_no_collision" are printed just before the return 0, showing the values at that time.
Hope this is somehow useful..
Cheers,
- Pete.