diff options
author | hselasky <hselasky@FreeBSD.org> | 2011-06-06 21:45:09 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2011-06-06 21:45:09 +0000 |
commit | 5f55faed0601b0486b09dd7ec3727f5312e33d5d (patch) | |
tree | 0b32799a28515b5c61e32d9d9a2ae9fedbba5065 /sys/dev/usb/usb_request.h | |
parent | c8e197a2037e17686f997232419f8b02d1e61ffc (diff) | |
download | FreeBSD-src-5f55faed0601b0486b09dd7ec3727f5312e33d5d.zip FreeBSD-src-5f55faed0601b0486b09dd7ec3727f5312e33d5d.tar.gz |
Improve enumeration of Low- and Full-speed devices connected through a
High-speed USB HUB by resetting the transaction translator (TT)
before trying re-enumeration. Also when clear-stall fails multiple times
try a re-enumeration.
Suggested by: Trevor Blackwell
MFC after: 14 days
Diffstat (limited to 'sys/dev/usb/usb_request.h')
-rw-r--r-- | sys/dev/usb/usb_request.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/dev/usb/usb_request.h b/sys/dev/usb/usb_request.h index 12f373d..ac7a7c1 100644 --- a/sys/dev/usb/usb_request.h +++ b/sys/dev/usb/usb_request.h @@ -85,5 +85,9 @@ usb_error_t usbd_req_set_hub_u2_timeout(struct usb_device *udev, struct mtx *mtx, uint8_t port, uint8_t timeout); usb_error_t usbd_req_set_hub_depth(struct usb_device *udev, struct mtx *mtx, uint16_t depth); +usb_error_t usbd_req_reset_tt(struct usb_device *udev, struct mtx *mtx, + uint8_t port); +usb_error_t usbd_req_clear_tt_buffer(struct usb_device *udev, struct mtx *mtx, + uint8_t port, uint8_t addr, uint8_t type, uint8_t endpoint); #endif /* _USB_REQUEST_H_ */ |