libftdi-git Archives

Subject: port libftdi to libusb-1.0 branch, master, updated. v0.17-11-g8de6eea

From: libftdi-git@xxxxxxxxxxxxxxxxxxxxxxx
To: libftdi-git@xxxxxxxxxxxxxxxxxxxxxxx
Date: Sun, 14 Feb 2010 01:45:05 +0100 (CET)
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   

Current Thread
  • port libftdi to libusb-1.0 branch, master, updated. v0.17-11-g8de6eea, libftdi-git <=