16 Aug
2012
16 Aug
'12
1:26 p.m.
Daniel Mack wrote:
Clemens, the patch below fixes a "sleeping while atomic" bug in the USB audio driver, but it raises a new "not enough bandwidth" issue, which might even be unreleated.
+++ b/sound/usb/pcm.c @@ -544,6 +544,9 @@ static int snd_usb_pcm_prepare(struct snd_pcm_substream *substream)
- /* clear the pending deactivation on the target EPs */
- deactivate_endpoints(subs);
The HC drivers calculate bandwidth for a stream when the first URB is submitted or the last one is completed. (xHCI does this when the altsetting is changed; IIRC there are plans to have other HCDs do the same.)
This patch doesn't change the relative order of URB submissions and cancellations. The descriptions in bug 46011 indicates that we're running into the not-completely-fixed EHCI scheduling bugs.
Regards, Clemens