summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/usbdi.c
diff options
context:
space:
mode:
authorjoe <joe@FreeBSD.org>2002-04-01 17:30:24 +0000
committerjoe <joe@FreeBSD.org>2002-04-01 17:30:24 +0000
commite0ee14f18709aa14c6e77c98baa447bca1435dce (patch)
treecdde977acafd7407d66588243c0a81768f8f1b4d /sys/dev/usb/usbdi.c
parent6239920c04b28fbfa2ad5cbf36df6e3fa305f362 (diff)
downloadFreeBSD-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.c13
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)
OpenPOWER on IntegriCloud