diff options
author | joe <joe@FreeBSD.org> | 2002-04-01 17:30:24 +0000 |
---|---|---|
committer | joe <joe@FreeBSD.org> | 2002-04-01 17:30:24 +0000 |
commit | e0ee14f18709aa14c6e77c98baa447bca1435dce (patch) | |
tree | cdde977acafd7407d66588243c0a81768f8f1b4d /sys/dev/usb/usbdi.c | |
parent | 6239920c04b28fbfa2ad5cbf36df6e3fa305f362 (diff) | |
download | FreeBSD-src-e0ee14f18709aa14c6e77c98baa447bca1435dce.zip FreeBSD-src-e0ee14f18709aa14c6e77c98baa447bca1435dce.tar.gz |
Merge from NetBSD: usbdi.c rev 1.77, usbdi.h rev 1.44
date: 2000/09/23 21:02:04; author: augustss;
Add a way to do control transfers on other pipes than the default pipe.
Diffstat (limited to 'sys/dev/usb/usbdi.c')
-rw-r--r-- | sys/dev/usb/usbdi.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/sys/dev/usb/usbdi.c b/sys/dev/usb/usbdi.c index 171161d..ae40185 100644 --- a/sys/dev/usb/usbdi.c +++ b/sys/dev/usb/usbdi.c @@ -1,4 +1,4 @@ -/* $NetBSD: usbdi.c,v 1.76 2000/06/06 11:36:21 augustss Exp $ */ +/* $NetBSD: usbdi.c,v 1.77 2000/09/23 21:02:04 augustss Exp $ */ /* $FreeBSD$ */ /* @@ -883,6 +883,14 @@ usbd_status usbd_do_request_flags(usbd_device_handle dev, usb_device_request_t *req, void *data, u_int16_t flags, int *actlen) { + return (usbd_do_request_flags_pipe(dev, dev->default_pipe, req, + data, flags, actlen)); +} + +usbd_status +usbd_do_request_flags_pipe(usbd_device_handle dev, usbd_pipe_handle pipe, + usb_device_request_t *req, void *data, u_int16_t flags, int *actlen) +{ usbd_xfer_handle xfer; usbd_status err; @@ -901,7 +909,8 @@ usbd_do_request_flags(usbd_device_handle dev, usb_device_request_t *req, if (xfer == NULL) return (USBD_NOMEM); usbd_setup_default_xfer(xfer, dev, 0, USBD_DEFAULT_TIMEOUT, req, - data, UGETW(req->wLength), flags, 0); + data, UGETW(req->wLength), flags, 0); + xfer->pipe = pipe; err = usbd_sync_transfer(xfer); #if defined(USB_DEBUG) || defined(DIAGNOSTIC) if (xfer->actlen > xfer->length) |