This patch series makes the NCM gadget usable at SuperSpeed Plus speeds (currently, it crashes with an oops). It also improves the behaviour on SuperSpeed and above by making simple performance improvements and by fixing the speeds that are reported to the host (currently 851 Mbps, which is much below actual throughput). Tested on a gadget directly connected to a Linux laptop running 5.6.14 and cdc_ncm, using both 5 Gbps and 10 Gbps cables. iperf3 single TCP connection throughput (gadget to host) is > 2 Gbps on SuperSpeed and > 4 Gbps on SuperSpeed Plus. Changes since v1: - Set bMaxBurst to 15 on endpoints. - Report more realistic speeds than 851 Mbps. Changes since v2: - Remove the separate SuperSpeed Plus descriptors and function which were just a copy of the SuperSpeed descriptors and function. Instead, just pass the SuperSpeed function to usb_assign_descriptors for both SuperSpeed and SuperSpeed Plus. - Don't set bMaxBurst on the interrupt endpoint. This is incorrect/useless and forbidden by the spec. - Make the speed constants unsigned literals.