diff options
author | 2015-09-07 19:58:42 +0000 | |
---|---|---|
committer | 2015-09-07 19:58:42 +0000 | |
commit | 61bcae0aeed39bedaae21377c42d5f5bbb5c836a (patch) | |
tree | b594ffc4948000e367d5fc87622cb413f92c16d8 | |
parent | Sync output with recent IPv6 loopback changes to ensure ::1 is the (diff) | |
download | wireguard-openbsd-61bcae0aeed39bedaae21377c42d5f5bbb5c836a.tar.xz wireguard-openbsd-61bcae0aeed39bedaae21377c42d5f5bbb5c836a.zip |
Do not set USBD_NO_COPY for interrupt transfers, only bulk transfers
are converted for the moment.
From Grant Czajkowski.
-rw-r--r-- | sys/dev/usb/ugen.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/usb/ugen.c b/sys/dev/usb/ugen.c index 036dbcfb884..239fef9f927 100644 --- a/sys/dev/usb/ugen.c +++ b/sys/dev/usb/ugen.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ugen.c,v 1.87 2015/09/04 08:59:43 mpi Exp $ */ +/* $OpenBSD: ugen.c,v 1.88 2015/09/07 19:58:42 mpi Exp $ */ /* $NetBSD: ugen.c,v 1.63 2002/11/26 18:49:48 christos Exp $ */ /* $FreeBSD: src/sys/dev/usb/ugen.c,v 1.26 1999/11/17 22:33:41 n_hibma Exp $ */ @@ -667,7 +667,7 @@ ugen_do_write(struct ugen_softc *sc, int endpt, struct uio *uio, int flag) return (EIO); } #endif - flags = USBD_SYNCHRONOUS | USBD_NO_COPY; + flags = USBD_SYNCHRONOUS; if (sce->timeout == 0) flags |= USBD_CATCH; @@ -685,6 +685,7 @@ ugen_do_write(struct ugen_softc *sc, int endpt, struct uio *uio, int flag) error = uiomovei(ptr, n, uio); if (error) goto done; + flags |= USBD_NO_COPY; DPRINTFN(1, ("ugenwrite: transfer %d bytes\n", n)); usbd_setup_xfer(xfer, sce->pipeh, 0, NULL, n, flags, sce->timeout, NULL); |