Never stop the control pipe

This commit is contained in:
Nick Hibma 2000-03-15 22:09:53 +00:00
parent fa55e6183a
commit 799c4480f9
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=58116

View File

@ -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");