summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDale Rahn <drahn@cvs.openbsd.org>2007-02-23 01:19:16 +0000
committerDale Rahn <drahn@cvs.openbsd.org>2007-02-23 01:19:16 +0000
commitc236528bec59154c48d74a9dc6f3a9c5d5cae97b (patch)
tree32d32eae77fb5d23b69bc9eb7c47903d45813059
parent33febc14d09fe7c52177c4c8d1cc5d721b18b23d (diff)
force usb to send a zero length packet on the end of usb packets
which happen to be a multple of 64 bytes, to indicate end of packet.
-rw-r--r--sys/dev/usb/if_cdce.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/usb/if_cdce.c b/sys/dev/usb/if_cdce.c
index c569b24a328..c4765f9386b 100644
--- a/sys/dev/usb/if_cdce.c
+++ b/sys/dev/usb/if_cdce.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_cdce.c,v 1.22 2007/01/22 03:46:49 dlg Exp $ */
+/* $OpenBSD: if_cdce.c,v 1.23 2007/02/23 01:19:15 drahn Exp $ */
/*
* Copyright (c) 1997, 1998, 1999, 2000-2003 Bill Paul <wpaul@windriver.com>
@@ -344,7 +344,8 @@ cdce_encap(struct cdce_softc *sc, struct mbuf *m, int idx)
c->cdce_mbuf = m;
usbd_setup_xfer(c->cdce_xfer, sc->cdce_bulkout_pipe, c, c->cdce_buf,
- m->m_pkthdr.len + extra, USBD_NO_COPY, 10000, cdce_txeof);
+ m->m_pkthdr.len + extra, USBD_FORCE_SHORT_XFER | USBD_NO_COPY,
+ 10000, cdce_txeof);
err = usbd_transfer(c->cdce_xfer);
if (err != USBD_IN_PROGRESS) {
cdce_stop(sc);