
On Sat, 27 Apr 2013, Clemens Ladisch wrote:
The recent changes in the USB API ("implement new semantics for URB_ISO_ASAP") made the former meaning of the URB_ISO_ASAP flag the default, and changed this flag to mean that URBs can be delayed. This is not the behaviour wanted by any of the audio drivers because it leads to discontinuous playback with very small period sizes. Therefore, our URBs need to be submitted without this flag.
Reported-by: Joe Rayhawk jrayhawk@fairlystable.org Cc: stable@vger.kernel.org # 3.8 only Signed-off-by: Clemens Ladisch clemens@ladisch.de
This is slightly offtopic but related:
I figured a change of these semantics might impact consistent latency, so I went ahead and tested this. It turns out that with my device (uses implicit feedback) on current mainline I get up to +/- 10 frames change across stream restarts, while with 3.7.0 I get +/- 1 frame change. I restarted the stream about 20 times with each kernel.
So I tested this patch to see if it helps, but there's no change for my setup with 3.9.
Cheers, Eldad