summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Pieuchot <mpi@cvs.openbsd.org>2014-05-21 12:31:54 +0000
committerMartin Pieuchot <mpi@cvs.openbsd.org>2014-05-21 12:31:54 +0000
commitb6fe2ce2891845c7cb5c8d1cc68ed0eb85fbd23b (patch)
tree9162898bbfa1a1edded24cd80fa943abff9cd597
parentb2d05937dc8f5504bcf8cb9294829279c79dfe05 (diff)
Handle the stall condition just like the bable one since in both cases
the ring is halted. Do not bother reporting USBD_STALLED to the stack like other HC drivers do since the endpoint is automatically reseted. What is the point of this error apart from making sure driver authors will forget to call usbd_clear_endpoint_stall_async() correctly? The Renesas uPD720202 xHCI, provided by Stefan Wollny, now works as expected.
-rw-r--r--sys/dev/usb/xhci.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/sys/dev/usb/xhci.c b/sys/dev/usb/xhci.c
index b79f1964b49..04f08e9de16 100644
--- a/sys/dev/usb/xhci.c
+++ b/sys/dev/usb/xhci.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: xhci.c,v 1.12 2014/05/20 14:46:19 mpi Exp $ */
+/* $OpenBSD: xhci.c,v 1.13 2014/05/21 12:31:53 mpi Exp $ */
/*
* Copyright (c) 2014 Martin Pieuchot
@@ -673,12 +673,7 @@ xhci_event_xfer(struct xhci_softc *sc, uint64_t paddr, uint32_t status,
xfer->actlen = xfer->length - remain;
xfer->status = USBD_NORMAL_COMPLETION;
break;
-#if 0
case XHCI_CODE_STALL:
- xfer->status = USBD_STALLED;
- xp->halted = 1;
- break;
-#endif
case XHCI_CODE_BABBLE:
/*
* Since the stack might try to start a new transfer as