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.
This commit is contained in:
Josef Karthauser 2003-07-14 19:47:59 +00:00
parent 4999f44917
commit 0ab3fe8a80

View File

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