This is the 3rd round, and I didn't mark it RFC anymore as Clemens and Takashi agreed on the way of implementation in general.
So in comparison to the last version, this round incorporates some spinlock fixes, a lot less debugging output and my S-o-b lines.
Please test this extensively with different sound cards.
I didn't experience a single problem over the last hours of testing, but the more testing the better.
Thanks, Daniel
Daniel Mack (5): ALSA: snd-usb: add snd_usb_audio-wide mutex ALSA: snd-usb: implement new endpoint streaming model ALSA: snd-usb: switch over to new endpoint streaming logic ALSA: snd-usb: remove old streaming logic ALSA: snd-usb: add support for implicit feedback
sound/usb/card.c | 8 +- sound/usb/card.h | 65 +++ sound/usb/endpoint.c | 1427 +++++++++++++++++++++++++------------------------- sound/usb/endpoint.h | 31 +- sound/usb/pcm.c | 428 +++++++++++++--- sound/usb/stream.c | 31 +- sound/usb/usbaudio.h | 2 + 7 files changed, 1191 insertions(+), 801 deletions(-)