From 0ab3fe8a80e242440f3ce8576e34d80c98aca4ea Mon Sep 17 00:00:00 2001 From: Josef Karthauser Date: Mon, 14 Jul 2003 19:47:59 +0000 Subject: [PATCH] MFNetBSD: revision 1.133 date: 2002/12/07 07:14:28; author: toshii; Fix several nits. Mostly from SOMEYA Yoshihiko. - Call usbd_transfer_complete at splusb. - Fix a botched for loop in ohci_rem_ed. - In ohci_close_pipe, wait 1ms after removing an ED to avoid possible race condition. The splusb change is non-functional on FreeBSD. The botched loop and race condition changes came from us. This patch is non-functional. --- sys/dev/usb/ohci.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/dev/usb/ohci.c b/sys/dev/usb/ohci.c index 4b4a57af364..fc05bfe6632 100644 --- a/sys/dev/usb/ohci.c +++ b/sys/dev/usb/ohci.c @@ -8,6 +8,7 @@ * $NetBSD: ohci.c,v 1.130 2002/09/29 20:59:30 augustss Exp $ * $NetBSD: ohci.c,v 1.131 2002/09/30 16:36:19 augustss Exp $ * $NetBSD: ohci.c,v 1.132 2002/12/07 06:52:11 toshii Exp $ + * $NetBSD: ohci.c,v 1.133 2002/12/07 07:14:28 toshii Exp $ * $NetBSD: ohci.c,v 1.138 2003/02/08 03:32:50 ichiro Exp $ * $NetBSD: ohci.c,v 1.140 2003/05/13 04:42:00 gson Exp $ */ @@ -1392,7 +1393,9 @@ ohci_softintr(void *v) xfer->actlen += len; if (std->flags & OHCI_CALL_DONE) { xfer->status = USBD_NORMAL_COMPLETION; + s = splusb(); usb_transfer_complete(xfer); + splx(s); } ohci_free_std(sc, std); } else { @@ -1432,7 +1435,9 @@ ohci_softintr(void *v) xfer->status = USBD_STALLED; else xfer->status = USBD_IOERROR; + s = splusb(); usb_transfer_complete(xfer); + splx(s); } }