[Bug 220033] xhci: Compliance Issue - avg_trb_len not set for EP0 during Address Device Command

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux