summaryrefslogtreecommitdiff
path: root/sys/dev/usb/ehcivar.h
diff options
context:
space:
mode:
authorChristopher Pascoe <pascoe@cvs.openbsd.org>2005-03-07 11:12:05 +0000
committerChristopher Pascoe <pascoe@cvs.openbsd.org>2005-03-07 11:12:05 +0000
commite53a0cb5d419926b8555ed36af032df7aa3a6d6a (patch)
tree768a7b4a876baee437e105f82fd21a79e3a666eb /sys/dev/usb/ehcivar.h
parentfd9399343260e05d83411f4cc5afd7a8fc405a8c (diff)
Add a workaround for VIA EHCI controllers which, under load, signal qTD
completion before they have performed writeback from the overlay qTD. This condition would exhibit itself as a umass stall that never recovers. ok dlg@
Diffstat (limited to 'sys/dev/usb/ehcivar.h')
-rw-r--r--sys/dev/usb/ehcivar.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/usb/ehcivar.h b/sys/dev/usb/ehcivar.h
index bdfde1445b0..8e79b5fd3e4 100644
--- a/sys/dev/usb/ehcivar.h
+++ b/sys/dev/usb/ehcivar.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: ehcivar.h,v 1.7 2004/12/29 01:52:27 dlg Exp $ */
+/* $OpenBSD: ehcivar.h,v 1.8 2005/03/07 11:12:04 pascoe Exp $ */
/* $NetBSD: ehcivar.h,v 1.12 2001/12/31 12:16:57 augustss Exp $ */
/*
@@ -92,6 +92,8 @@ typedef struct ehci_softc {
bus_space_handle_t ioh;
bus_size_t sc_size;
u_int sc_offs; /* offset to operational regs */
+ int sc_flags; /* misc flags */
+#define EHCIF_DROPPED_INTR_WORKAROUND 0x01
char sc_vendor[16]; /* vendor string for root hub */
int sc_id_vendor; /* vendor ID for root hub */
@@ -131,6 +133,7 @@ typedef struct ehci_softc {
struct lock sc_doorbell_lock;
usb_callout_t sc_tmo_pcd;
+ usb_callout_t sc_tmo_intrlist;
device_ptr_t sc_child; /* /dev/usb# device */