diff options
author | iedowse <iedowse@FreeBSD.org> | 2006-01-08 03:27:43 +0000 |
---|---|---|
committer | iedowse <iedowse@FreeBSD.org> | 2006-01-08 03:27:43 +0000 |
commit | d2f4cceaf55160a694c481424ffc20ce134c9898 (patch) | |
tree | 6f7e4704d51eaf0a6cfccfeceea8683695cdda08 | |
parent | d1f7b6d6058fadd65e506ebb78cf2f0bf59c1819 (diff) | |
download | FreeBSD-src-d2f4cceaf55160a694c481424ffc20ce134c9898.zip FreeBSD-src-d2f4cceaf55160a694c481424ffc20ce134c9898.tar.gz |
Don't perform an endpoint stall clear every time a pipe is opened.
This should not be necessary, and it is known to confuse certain
devices.
Obtained from: NetBSD
Requested by: many
-rw-r--r-- | sys/dev/usb/usb_subr.c | 17 |
1 files changed, 0 insertions, 17 deletions
diff --git a/sys/dev/usb/usb_subr.c b/sys/dev/usb/usb_subr.c index ca573b6..655a4e3 100644 --- a/sys/dev/usb/usb_subr.c +++ b/sys/dev/usb/usb_subr.c @@ -779,23 +779,6 @@ usbd_setup_pipe(usbd_device_handle dev, usbd_interface_handle iface, return (err); } - if (!(dev->quirks->uq_flags & UQ_NO_OPEN_CLEARSTALL)) { - /* Clear any stall and make sure DATA0 toggle will be used next. */ - if (UE_GET_ADDR(ep->edesc->bEndpointAddress) != USB_CONTROL_ENDPOINT) { - err = usbd_clear_endpoint_stall(p); - /* - * Some devices reject this command, so ignore a STALL. - * Some device just time out on this command, so ignore - * that too. - */ - if (err && err != USBD_STALLED && err != USBD_TIMEOUT) { - printf("usbd_setup_pipe: failed to start " - "endpoint, %s\n", usbd_errstr(err)); - return (err); - } - } - } - *pipe = p; return (USBD_NORMAL_COMPLETION); } |