Hi,
attached is a patch for snd_usb_caiaq which fixes system potential lockups when stoping and restarting the stream very quickly multiple times in a row which is what some players do when the user drags the song position slider.
Also, it seems that snd_pcm_period_elapsed() must not be called when holding a spinlock? The documentation[*], however, doesn't state that.
As this fixes an annoying bug, I would appreciate seeing that one being pushed into 2.6.25. Still possible?
Thanks and best regards, Daniel
[*] http://www.alsa-project.org/~tiwai/writing-an-alsa-driver/x773.htm#PCM-INTER...
----
Subject: [PATCH] snd_usb_caiaq: fix potential lockups
This patch fixes potential lockups in snd_usb_caiaq by refining the locking mechanims and by using usb_kill_urb() in favor to usb_unlink_urb().
Signed-off-by: Daniel Mack daniel@caiaq.de