]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
xhci(4): Ensure the so-called data toggle gets properly reset.
authorHans Petter Selasky <hselasky@FreeBSD.org>
Thu, 21 Apr 2022 14:59:09 +0000 (16:59 +0200)
committerHans Petter Selasky <hselasky@FreeBSD.org>
Wed, 27 Apr 2022 19:33:34 +0000 (21:33 +0200)
commit245d5a65f5805864881e2601190e7783057d2768
treeb6a0d27c0f435ef3ec155796a854e3f56b26e267
parent346f0084ba726f5b4640e0624c6f7e0df2622d54
xhci(4): Ensure the so-called data toggle gets properly reset.

Use the drop and enable endpoint context commands to force a reset of
the data toggle for USB 2.0 and USB 3.0 after:
 - clear endpoint halt command (when the driver wishes).
 - set config command (when the kernel or user-space wants).
 - set alternate setting command (only affected endpoints).

Some XHCI HW implementations may not allow the endpoint reset command when
the endpoint context is not in the halted state.

Reported by: Juniper and Gary Jennejohn
Approved by: re (gjb)
Sponsored by: NVIDIA Networking

(cherry picked from commit cda31e734925346328fd2369585ab3f6767ec225)
sys/dev/usb/controller/xhci.c