Commit 28d85db
committed
xhci: Do not drop and add bits in xhci
Drop and Add bits reset the data toggle for high-speed devices in XHCI.
The toggle bit represents the sequence number in USB 2.0 transfers. However,
a device can only recognize that the toggle bit has been reset while in
the HALT state. As a result, the host and device toggle values may
become mismatched, causing xHCI to reject the packet. This issue was
observed while testing the EZ-USB FX2 device.
The transfer may then return to the original value after a
bi-directional TD because the toggle field is only one bit wide. This
explains the reson that we can only receive packets bi-transfer in some
case. Therefore, we do not reset the toggle bit here.
Reviewed by: adrian
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D571461 parent 0c85df0 commit 28d85db
1 file changed
Lines changed: 9 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3898 | 3898 | | |
3899 | 3899 | | |
3900 | 3900 | | |
3901 | | - | |
3902 | | - | |
3903 | 3901 | | |
3904 | | - | |
| 3902 | + | |
3905 | 3903 | | |
3906 | 3904 | | |
3907 | 3905 | | |
| |||
3910 | 3908 | | |
3911 | 3909 | | |
3912 | 3910 | | |
3913 | | - | |
| 3911 | + | |
| 3912 | + | |
| 3913 | + | |
| 3914 | + | |
| 3915 | + | |
| 3916 | + | |
3914 | 3917 | | |
3915 | | - | |
| 3918 | + | |
| 3919 | + | |
3916 | 3920 | | |
3917 | 3921 | | |
3918 | 3922 | | |
| |||
0 commit comments