diff options
author | David Gwynne <dlg@cvs.openbsd.org> | 2004-08-30 07:28:16 +0000 |
---|---|---|
committer | David Gwynne <dlg@cvs.openbsd.org> | 2004-08-30 07:28:16 +0000 |
commit | a0f4e64c15faf78c32504c8c48893828706a7b52 (patch) | |
tree | 929f6a52d63b1626fac8fd99dc28457a00329124 /sys | |
parent | 0648121998f342da9e8400286238c62d3620ea4e (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@
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/usb/if_axe.c | 3 |
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); |