The branch, master has been updated
via 8de6eea49cd2689d79d4c27467fcfd3dde121d15 (commit)
from 866a6dbba29fe197207a3d2ea579fcab9778ea8c (commit)
- Log -----------------------------------------------------------------
commit 8de6eea49cd2689d79d4c27467fcfd3dde121d15
Author: Jie Zhang <jzhang918@xxxxxxxxx>
Date: Sun Feb 14 08:44:23 2010 +0800
Limit read buffer chunksize to 16384 on Linux.
-----------------------------------------------------------------------
Summary of changes:
src/ftdi.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/src/ftdi.c b/src/ftdi.c
index 22e746d..afcf897 100644
--- a/src/ftdi.c
+++ b/src/ftdi.c
@@ -1621,6 +1621,14 @@ int ftdi_read_data_set_chunksize(struct ftdi_context
*ftdi, unsigned int chunksi
// Invalidate all remaining data
ftdi->readbuffer_offset = 0;
ftdi->readbuffer_remaining = 0;
+#ifdef __linux__
+ /* We can't set readbuffer_chunksize larger than MAX_BULK_BUFFER_LENGTH,
+ which is defined in libusb-1.0. Otherwise, each USB read request will
+ be devided into multiple URBs. This will cause issues on Linux kernel
+ older than 2.6.32. */
+ if (chunksize > 16384)
+ chunksize = 16384;
+#endif
if ((new_buf = (unsigned char *)realloc(ftdi->readbuffer, chunksize)) ==
NULL)
ftdi_error_return(-1, "out of memory for readbuffer");
hooks/post-receive
--
port libftdi to libusb-1.0
--
libftdi-git - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi-git+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx
|