summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/usb_transfer.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/usb/usb_transfer.c')
-rw-r--r--sys/dev/usb/usb_transfer.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/dev/usb/usb_transfer.c b/sys/dev/usb/usb_transfer.c
index e0f5a3b..cdaa227 100644
--- a/sys/dev/usb/usb_transfer.c
+++ b/sys/dev/usb/usb_transfer.c
@@ -60,6 +60,7 @@
#include <dev/usb/usb_controller.h>
#include <dev/usb/usb_bus.h>
+#include <dev/usb/usb_pf.h>
struct usb_std_packet_size {
struct {
@@ -2196,6 +2197,9 @@ usbd_callback_wrapper(struct usb_xfer_queue *pq)
}
}
+ if (xfer->usb_state != USB_ST_SETUP)
+ usbpf_xfertap(xfer, USBPF_XFERTAP_DONE);
+
/* call processing routine */
(xfer->callback) (xfer, xfer->error);
@@ -2383,6 +2387,8 @@ usbd_transfer_start_cb(void *arg)
DPRINTF("start\n");
+ usbpf_xfertap(xfer, USBPF_XFERTAP_SUBMIT);
+
/* start the transfer */
(ep->methods->start) (xfer);
@@ -2560,6 +2566,8 @@ usbd_pipe_start(struct usb_xfer_queue *pq)
}
DPRINTF("start\n");
+ usbpf_xfertap(xfer, USBPF_XFERTAP_SUBMIT);
+
/* start USB transfer */
(ep->methods->start) (xfer);
OpenPOWER on IntegriCloud