Never stop the control pipe
This commit is contained in:
parent
fa55e6183a
commit
799c4480f9
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=58116
@ -845,8 +845,9 @@ usb_transfer_complete(xfer)
|
||||
|
||||
if (!repeat) {
|
||||
/* XXX should we stop the queue on all errors? */
|
||||
if (xfer->status == USBD_CANCELLED ||
|
||||
xfer->status == USBD_TIMEOUT)
|
||||
if ((xfer->status == USBD_CANCELLED
|
||||
|| xfer->status == USBD_TIMEOUT)
|
||||
&& pipe->iface != NULL) /* not control pipe */
|
||||
pipe->running = 0;
|
||||
else
|
||||
usbd_start_next(pipe);
|
||||
@ -934,7 +935,7 @@ usbd_do_request_flags(dev, req, data, flags, actlen)
|
||||
#ifdef DIAGNOSTIC
|
||||
#if defined(__i386__) && defined(__FreeBSD__)
|
||||
KASSERT(intr_nesting_level == 0,
|
||||
("ohci_abort_req in interrupt context"));
|
||||
("usbd_do_request: in interrupt context"));
|
||||
#endif
|
||||
if (dev->bus->intr_context) {
|
||||
printf("usbd_do_request: not in process context\n");
|
||||
|
Loading…
Reference in New Issue
Block a user