https://bugzilla.kernel.org/show_bug.cgi?id=220033 --- Comment #4 from Chen-Tzu-Chieh (jay.chen@xxxxxxxxxxx) --- Hi Mathias & Michał, Thanks for your response. I’ve already submitted a patch to fix this situation (by adding a line of `ep0_ctx->tx_info |= cpu_to_le32(EP_AVG_TRB_LENGTH(8));` in `xhci_setup_addressable_virt_dev`). Link: https://lore.kernel.org/linux-usb/JH0PR06MB7294E46B393F1CA5FE0EE4F78396A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/T/#u > This function is only called from add_endpoint(), which doesn't seem to ever > be called on EP 0. But non-default control endpoints would be set to 8 > indeed. Yes, I misunderstood that function, and thanks for the explanation. Inside `xhci_endpoint_init`, it sets `avg_trb_len` for the USB device's endpoints while the `xhci_setup_addressable_virt_dev` function initializes the input context (ref: xHCI 1.2, Ch. 6.2.5 Input Context), and EP Context 0 (Default Control Endpoint) is passed to the xHC hardware. -- You may reply to this email to add a comment. You are receiving this mail because: You are watching the assignee of the bug.