diff options
author | Christopher Pascoe <pascoe@cvs.openbsd.org> | 2006-08-14 00:41:12 +0000 |
---|---|---|
committer | Christopher Pascoe <pascoe@cvs.openbsd.org> | 2006-08-14 00:41:12 +0000 |
commit | 451757c926b61f58afdaa3b9a0b607d17ff8b01b (patch) | |
tree | 1ccd9d41e275c497921bbd425f9d288c1cb54d11 /sys/dev/usb/ehcivar.h | |
parent | ec523fd888e112e001a5c3907b9829daac5fa0c2 (diff) |
Pull in abort path code from FreeBSD. Without this, the hardware data toggle
code doesn't work correctly when errored transactions occur.
ok dlg@
Diffstat (limited to 'sys/dev/usb/ehcivar.h')
-rw-r--r-- | sys/dev/usb/ehcivar.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/dev/usb/ehcivar.h b/sys/dev/usb/ehcivar.h index 145e9e85bcc..cdc8df4fff6 100644 --- a/sys/dev/usb/ehcivar.h +++ b/sys/dev/usb/ehcivar.h @@ -1,5 +1,5 @@ -/* $OpenBSD: ehcivar.h,v 1.9 2005/04/11 08:09:32 dlg Exp $ */ -/* $NetBSD: ehcivar.h,v 1.12 2001/12/31 12:16:57 augustss Exp $ */ +/* $OpenBSD: ehcivar.h,v 1.10 2006/08/14 00:41:11 pascoe Exp $ */ +/* $NetBSD: ehcivar.h,v 1.19 2005/04/29 15:04:29 augustss Exp $ */ /* * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -51,6 +51,7 @@ typedef struct ehci_soft_qtd { typedef struct ehci_soft_qh { ehci_qh_t qh; struct ehci_soft_qh *next; + struct ehci_soft_qh *prev; struct ehci_soft_qtd *sqtd; ehci_physaddr_t physaddr; int islot; @@ -64,10 +65,14 @@ struct ehci_xfer { LIST_ENTRY(ehci_xfer) inext; /* list of active xfers */ ehci_soft_qtd_t *sqtdstart; ehci_soft_qtd_t *sqtdend; + u_int32_t ehci_xfer_flags; #ifdef DIAGNOSTIC int isdone; #endif }; +#define EHCI_XFER_ABORTING 0x0001 /* xfer is aborting. */ +#define EHCI_XFER_ABORTWAIT 0x0002 /* abort completion is being awaited. */ + #define EXFER(xfer) ((struct ehci_xfer *)(xfer)) /* Information about an entry in the interrupt list. */ |