summaryrefslogtreecommitdiffstats
path: root/sound/pci/ac97
diff options
context:
space:
mode:
authorDaniel Mack <zonque@gmail.com>2011-08-14 11:31:16 +0200
committerTakashi Iwai <tiwai@suse.de>2011-08-14 18:10:43 +0200
commitda6094ea7d3c2295473d8f5134279307255d6ebf (patch)
treee27db43aec5a48586535a82383be3107050bdac0 /sound/pci/ac97
parentc012cdc858db36ff2314469930bfcfb00eef6f29 (diff)
downloadlinux-da6094ea7d3c2295473d8f5134279307255d6ebf.tar.bz2
ALSA: snd_usb_caiaq: track submitted output urbs
The snd_usb_caiaq driver currently assumes that output urbs are serviced in time and doesn't track when and whether they are given back by the USB core. That usually works fine, but due to temporary limitations of the XHCI stack, we faced that urbs were submitted more than once with this approach. As it's no good practice to fire and forget urbs anyway, this patch introduces a proper bit mask to track which requests have been submitted and given back. That alone however doesn't make the driver work in case the host controller is broken and doesn't give back urbs at all, and the output stream will stop once all pre-allocated output urbs are consumed. But it does prevent crashes of the controller stack in such cases. See http://bugzilla.kernel.org/show_bug.cgi?id=40702 for more details. Signed-off-by: Daniel Mack <zonque@gmail.com> Reported-and-tested-by: Matej Laitl <matej@laitl.cz> Cc: Sarah Sharp <sarah.a.sharp@linux.intel.com> Cc: stable@kernel.org Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/ac97')
0 files changed, 0 insertions, 0 deletions