diff options
author | hselasky <hselasky@FreeBSD.org> | 2014-01-24 07:48:52 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2014-01-24 07:48:52 +0000 |
commit | f692196495136a8dd592a7f06a940e6fae03fd6d (patch) | |
tree | 839fc6ad65b9e949db26d1b71d21c9f0c50ef134 /sys/dev/usb/usb_device.c | |
parent | 34792a80a8f08a81c382a8100ee6ff81820ed688 (diff) | |
download | FreeBSD-src-f692196495136a8dd592a7f06a940e6fae03fd6d.zip FreeBSD-src-f692196495136a8dd592a7f06a940e6fae03fd6d.tar.gz |
MFC r260588 and r260589:
- Separate I/O errors from reception of STALL PID.
- Implement better error recovery for Transaction Translators, TTs,
found in High Speed USB HUBs which translate from High Speed USB into
FULL or LOW speed USB. In some rare cases SPLIT transactions might get
lost, which might leave the TT in an unknown state. Whenever we detect
such an error try to issue either a clear TT buffer request, or if
that is not possible reset the whole TT.
Diffstat (limited to 'sys/dev/usb/usb_device.c')
-rw-r--r-- | sys/dev/usb/usb_device.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/usb/usb_device.c b/sys/dev/usb/usb_device.c index 7e8181c..3af48d8 100644 --- a/sys/dev/usb/usb_device.c +++ b/sys/dev/usb/usb_device.c @@ -98,7 +98,7 @@ static void usb_init_attach_arg(struct usb_device *, struct usb_attach_arg *); static void usb_suspend_resume_sub(struct usb_device *, device_t, uint8_t); -static void usbd_clear_stall_proc(struct usb_proc_msg *_pm); +static usb_proc_callback_t usbd_clear_stall_proc; static usb_error_t usb_config_parse(struct usb_device *, uint8_t, uint8_t); static void usbd_set_device_strings(struct usb_device *); #if USB_HAVE_DEVCTL @@ -1474,7 +1474,7 @@ usb_suspend_resume(struct usb_device *udev, uint8_t do_suspend) static void usbd_clear_stall_proc(struct usb_proc_msg *_pm) { - struct usb_clear_stall_msg *pm = (void *)_pm; + struct usb_udev_msg *pm = (void *)_pm; struct usb_device *udev = pm->udev; /* Change lock */ |