[usb] Allow usb_stream() to enforce a terminating short packet
authorMichael Brown <mcb30@ipxe.org>
Tue, 10 Feb 2015 13:45:57 +0000 (13:45 +0000)
committerMichael Brown <mcb30@ipxe.org>
Tue, 10 Feb 2015 13:49:27 +0000 (13:49 +0000)
commit58c3e7f74771dd4748983cc47ed53241ac1864f1
treee5baedb5b58a1abadf5ea3811fa66e87d14d40d7
parent17aceb34da3bad166cab8579a3616806fff8e05b
[usb] Allow usb_stream() to enforce a terminating short packet

Some USB endpoints require that a short packet be used to terminate
transfers, since they have no other way to determine message
boundaries.  If the message length happens to be an exact multiple of
the USB packet size, then this requires the use of an additional
zero-length packet.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/drivers/bus/usb.c
src/drivers/net/ncm.c
src/drivers/usb/usbhub.c
src/drivers/usb/xhci.c
src/include/ipxe/usb.h