summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Gwynne <dlg@cvs.openbsd.org>2004-08-30 07:28:16 +0000
committerDavid Gwynne <dlg@cvs.openbsd.org>2004-08-30 07:28:16 +0000
commita0f4e64c15faf78c32504c8c48893828706a7b52 (patch)
tree929f6a52d63b1626fac8fd99dc28457a00329124
parent0648121998f342da9e8400286238c62d3620ea4e (diff)
from freebsd via Jonathan Gray
"Use the USBD_FORCE_SHORT_XFER flag when setting up transmit transfers. Without this, the device cannot detect the end of ethernet packets whose size is a multiple of the USB packat size. ok deraadt@
-rw-r--r--sys/dev/usb/if_axe.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/usb/if_axe.c b/sys/dev/usb/if_axe.c
index e5f34c781a2..39a6f12dcef 100644
--- a/sys/dev/usb/if_axe.c
+++ b/sys/dev/usb/if_axe.c
@@ -1000,7 +1000,8 @@ axe_encap(struct axe_softc *sc, struct mbuf *m, int idx)
c->axe_mbuf = m;
usbd_setup_xfer(c->axe_xfer, sc->axe_ep[AXE_ENDPT_TX],
- c, c->axe_buf, m->m_pkthdr.len, 0, 10000, axe_txeof);
+ c, c->axe_buf, m->m_pkthdr.len, USBD_FORCE_SHORT_XFER, 10000,
+ axe_txeof);
/* Transmit */
err = usbd_transfer(c->axe_xfer);