[flashrom] [commit] r1228 - trunk

repository service svn at flashrom.org
Wed Nov 10 04:10:42 CET 2010


Author: hailfinger
Date: Wed Nov 10 04:10:41 2010
New Revision: 1228
URL: http://flashrom.org/trac/flashrom/changeset/1228

Log:
Retry short reads in ft2232_spi.
It is possible that ftdi_read_data() returns less data
than requested. Catch this case and retry reading the rest
of the buffer.

Signed-off-by: Alex Badea <vamposdecampos at gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>

Modified:
   trunk/ft2232_spi.c

Modified: trunk/ft2232_spi.c
==============================================================================
--- trunk/ft2232_spi.c	Wed Nov 10 00:30:43 2010	(r1227)
+++ trunk/ft2232_spi.c	Wed Nov 10 04:10:41 2010	(r1228)
@@ -108,11 +108,16 @@
 		   int size)
 {
 	int r;
-	r = ftdi_read_data(ftdic, (unsigned char *) buf, size);
-	if (r < 0) {
-		msg_perr("ftdi_read_data: %d, %s\n", r,
-				ftdi_get_error_string(ftdic));
-		return 1;
+
+	while (size > 0) {
+		r = ftdi_read_data(ftdic, (unsigned char *) buf, size);
+		if (r < 0) {
+			msg_perr("ftdi_read_data: %d, %s\n", r,
+					ftdi_get_error_string(ftdic));
+			return 1;
+		}
+		buf += r;
+		size -= r;
 	}
 	return 0;
 }




More information about the flashrom mailing list