Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

usb: xhci-hcd: add a gratuitous doorbell read #6430

Closed
wants to merge 2 commits into from

Conversation

P33M
Copy link
Contributor

@P33M P33M commented Oct 22, 2024

This may assist in debugging #6141

The symptom is that the Interrupt endpoint for the dongle sometimes has one outstanding TRB, but the lack of USB bus activity suggests that the xHC didn't correctly register the TRB as valid when the doorbell ring happened.

Adding this dummy read seems to fix it.

--

There are probably less-bad ways to ensure consistency of memory before issuing a doorbell write, but this blunt instrument seems to work for me.

I can't tell if the root cause is the same as the gpio bitbash compression (RC swallowing writes), or some peculiarity of the xHC TRB fetch engine making this type of transfer vulnerable to stalling.

This may assist in debugging raspberrypi#6141

The symptom is that the Interrupt endpoint for the dongle sometimes has
one outstanding TRB, but the lack of USB bus activity suggests that the
xHC didn't correctly register the TRB as valid when the doorbell ring
happened.

Adding this dummy read seems to fix it.

Signed-off-by: Jonathan Bell <[email protected]>
Idea is to capture debug output in this window
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant