Monty Montgomery wrote:
UHCI (and EHCI) use the endpoint's wMaxPacketSize for all bandwidth allocation. My device supports all of its sample rates on the same altset, with a wMaxPacketSize matching the highest (96kHz) rate. So, the HCD is reserving most of the USB bus's bandwidth regardless of the actual requirements.
How should I approach fixing this in the driver?
You cannot fix it in the audio driver; bandwidth allocation is done in the controller driver, and that one doesn't know that your device lies about its bandwidth requirements.
There's currently no means to communicate a desired bandwidth reservation to the HCD from USB audio, so I'd have to extend even the quirks.
The device is supposed to use alternate settings for this.
Can't you change its firmware?
Regards, Clemens