summaryrefslogtreecommitdiff
path: root/sys/dev/usb/xhcivar.h
diff options
context:
space:
mode:
authorMartin Pieuchot <mpi@cvs.openbsd.org>2015-01-18 11:54:03 +0000
committerMartin Pieuchot <mpi@cvs.openbsd.org>2015-01-18 11:54:03 +0000
commitc22a06cc1fea81316c9d44cb2f9a4a45ba940594 (patch)
treea43fc052b12295dcdd9ad95520a91d3181abfb1d /sys/dev/usb/xhcivar.h
parent9466c593708b6d7d7a54f5ed531ae7e8dcb7d76a (diff)
Since we are no longer resetting rings when a Babble or Stall condition
is detected, simply keep track of the faulty xfer instead of completing all the pending ones. Fix a race condition where we could end up aborting a freshly enqueued xfer when two different threads are submitting control transfers (i.e. usbdevs(8) and a kernel driver).
Diffstat (limited to 'sys/dev/usb/xhcivar.h')
-rw-r--r--sys/dev/usb/xhcivar.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/usb/xhcivar.h b/sys/dev/usb/xhcivar.h
index fad436ead25..e2a1f56fda3 100644
--- a/sys/dev/usb/xhcivar.h
+++ b/sys/dev/usb/xhcivar.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: xhcivar.h,v 1.6 2014/12/15 17:10:44 mpi Exp $ */
+/* $OpenBSD: xhcivar.h,v 1.7 2015/01/18 11:54:02 mpi Exp $ */
/*
* Copyright (c) 2014 Martin Pieuchot
@@ -35,7 +35,7 @@ struct usbd_dma_info {
struct xhci_xfer {
struct usbd_xfer xfer;
- int index; /* Index of the first TRB */
+ int index; /* Index of the last TRB */
size_t ntrb; /* Number of associated TRBs */
};