summaryrefslogtreecommitdiff
path: root/sys/dev/usb/uhci.c
diff options
context:
space:
mode:
authorMartin Pieuchot <mpi@cvs.openbsd.org>2014-05-08 14:00:53 +0000
committerMartin Pieuchot <mpi@cvs.openbsd.org>2014-05-08 14:00:53 +0000
commitffa1eed33f1a9dccb3dfa2d8682f0dfbc47d200e (patch)
treef4ce2713582cdbd1270ba120ba5c392d4680d3df /sys/dev/usb/uhci.c
parent18488c107d9e55210af914a4794cceb8515d90ff (diff)
Plug one more xfer leak.
Now that aborting interrupt pipes does not prevent us from freeing the associated xfer, make sure to flag this xfer as "done" even if there's no need to abort it in hardware.
Diffstat (limited to 'sys/dev/usb/uhci.c')
-rw-r--r--sys/dev/usb/uhci.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/usb/uhci.c b/sys/dev/usb/uhci.c
index 7fe63f9c6c1..b720b39eb74 100644
--- a/sys/dev/usb/uhci.c
+++ b/sys/dev/usb/uhci.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uhci.c,v 1.114 2014/05/04 14:42:36 mpi Exp $ */
+/* $OpenBSD: uhci.c,v 1.115 2014/05/08 14:00:52 mpi 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 $ */
@@ -1785,6 +1785,9 @@ uhci_abort_xfer(struct usbd_xfer *xfer, usbd_status status)
xfer->status = status; /* make software ignore it */
timeout_del(&xfer->timeout_handle);
usb_rem_task(xfer->device, &xfer->abort_task);
+#ifdef DIAGNOSTIC
+ ux->isdone = 1;
+#endif
usb_transfer_complete(xfer);
splx(s);
return;