Hi, With kernel 4.20.8 as well as 5.0-rc6 I have the following problem. I have an AT2020USBi microphone from audio-technica. This is a full speed USB device which supports 24 bit audio at up to 96 kHz. Although the hardware is only mono it requestes a wMaxPacketSize of 576 corresponding to 24 bit stereo at 96 kHz. According to my understanding this is compliant to the USB 2.0 specification, because up to 80% of the bandwidth can be used for iso transfers. However the linux kernel does not grant this bandwidth although it is the only device connected to one port of a USB 2.0 hub. It reports: usb 2-1.3: cannot submit urb 0, error -28: not enough bandwidth I checked the logic in iso_stream_schedule and sitd_slot_ok from drivers/usb/ host/ehci-sched.c and found the following. - The desired packet size fits into 4 uframes. - The variables are calculated to hs_transfers = 4 and stream->ps.cs_mask = 0xFC01 (line 1110). - Searching for a suitable slot starts in iso_stream_schedule. - Uframe 7 and 6 are not used. "if ((start % 8) >= 6) continue;" line 1530 - Uframe 5 to 1 are rejected, because the condition "mask & ~0xffff" in line 1411 ist not met. - Uframe 0 does not work, because there is alredy some reserved bandwith and tt_available fails. I am not sure about the intended behavior of the code. If I apply the following change then the transfer is scheduled for uframe 5 to 2 and the microphone works well. diff -up linux-4.20.8/drivers/usb/host/ehci-sched.c linux-4.20.8.new/drivers/ usb/host/ehci-sched.c --- linux-4.20.8/drivers/usb/host/ehci-sched.c 2019-01-31 08:15:47.000000000 +0100 +++ linux-4.20.8.new/drivers/usb/host/ehci-sched.c 2019-02-13 22:05:10.622284415 +0100 @@ -1408,7 +1408,7 @@ sitd_slot_ok( return 0; /* for IN, don't wrap CSPLIT into the next frame */ - if (mask & ~0xffff) + if (mask & ~0x3ffff) return 0; /* check bandwidth */ This is the relevant information sent by the microphone and captured with wireshark. Class-specific Audio Streaming Interface Descriptor: Format type descriptor bLength: 20 bDescriptorType: 0x24 (audio class interface) Subtype: Format type descriptor (0x02) FormatType: 1 Number Channels: 2 Subframe Size: 3 Bit Resolution: 24 Samples Frequence Type: 4 Samples Frequence: 32000 Samples Frequence: 44100 Samples Frequence: 48000 Samples Frequence: 96000 ENDPOINT DESCRIPTOR bLength: 9 bDescriptorType: 0x05 (ENDPOINT) bEndpointAddress: 0x82 IN Endpoint:2 bmAttributes: 0x0d wMaxPacketSize: 576 bInterval: 1 Best regards, Michael Häckel