summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/uhci.c
diff options
context:
space:
mode:
authordamien <damien@openbsd.org>2005-04-19 08:33:26 +0000
committerdamien <damien@openbsd.org>2005-04-19 08:33:26 +0000
commit00625f80ab69dd98d30f73707d29c90c10ed5b4a (patch)
tree7bed901b75d9d1871c9eae5f7f79567a7105679d /sys/dev/usb/uhci.c
parentbe more cautious when processing CMV interrupts. (diff)
downloadwireguard-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.c7
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;
}