diff options
author | 2005-04-19 08:33:26 +0000 | |
---|---|---|
committer | 2005-04-19 08:33:26 +0000 | |
commit | 00625f80ab69dd98d30f73707d29c90c10ed5b4a (patch) | |
tree | 7bed901b75d9d1871c9eae5f7f79567a7105679d /sys/dev/usb/uhci.c | |
parent | be more cautious when processing CMV interrupts. (diff) | |
download | wireguard-openbsd-00625f80ab69dd98d30f73707d29c90c10ed5b4a.tar.xz wireguard-openbsd-00625f80ab69dd98d30f73707d29c90c10ed5b4a.zip |
fix for isochronous pipes:
xfer's busy_free status can be XFER_ONQU when uhci_device_isoc_done()
is called. this happens when the xfer is queued in the driver supplied
callback function that is called before uhci_device_isoc_done().
ok dlg@
Diffstat (limited to 'sys/dev/usb/uhci.c')
-rw-r--r-- | sys/dev/usb/uhci.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/dev/usb/uhci.c b/sys/dev/usb/uhci.c index 14872d9aaa8..c04ec682c48 100644 --- a/sys/dev/usb/uhci.c +++ b/sys/dev/usb/uhci.c @@ -1,4 +1,4 @@ -/* $OpenBSD: uhci.c,v 1.37 2004/11/11 12:15:48 dlg Exp $ */ +/* $OpenBSD: uhci.c,v 1.38 2005/04/19 08:33:26 damien Exp $ */ /* $NetBSD: uhci.c,v 1.172 2003/02/23 04:19:26 simonb Exp $ */ /* $FreeBSD: src/sys/dev/usb/uhci.c,v 1.33 1999/11/17 22:33:41 n_hibma Exp $ */ @@ -2601,9 +2601,8 @@ uhci_device_isoc_done(usbd_xfer_handle xfer) return; #ifdef DIAGNOSTIC - if (xfer->busy_free != XFER_BUSY) { - printf("uhci_device_isoc_done: xfer=%p not busy 0x%08x\n", - xfer, xfer->busy_free); + if (xfer->busy_free == XFER_FREE) { + printf("uhci_device_isoc_done: xfer=%p is free\n", xfer); return; } |