[flashrom] [commit] r1906 - trunk

repository service svn at flashrom.org
Mon Jan 4 04:05:07 CET 2016


Author: stefanct
Date: Mon Jan  4 04:05:06 2016
New Revision: 1906
URL: http://flashrom.org/trac/flashrom/changeset/1906

Log:
serprog: ignore failures when setting serial port options.

There is no good reason to abort earlier just because some options did
not stick. This should improve compatibility without negative effects. If
communication is affected by the missing flag(s) then we abort later
anyway.

Signed-off-by: Stefan Tauner <stefan.tauner at alumni.tuwien.ac.at>
Acked-by: Urja Rannikko <urjaman at gmail.com>

Modified:
   trunk/serial.c

Modified: trunk/serial.c
==============================================================================
--- trunk/serial.c	Mon Jan  4 04:04:36 2016	(r1905)
+++ trunk/serial.c	Mon Jan  4 04:05:06 2016	(r1906)
@@ -209,12 +209,25 @@
 	if (observed.c_cflag != wanted.c_cflag ||
 	    observed.c_lflag != wanted.c_lflag ||
 	    observed.c_iflag != wanted.c_iflag ||
-	    observed.c_oflag != wanted.c_oflag ||
-	    cfgetispeed(&observed) != cfgetispeed(&wanted)) {
-		msg_perr("%s: Some requested options did not stick.\n", __func__);
-		return 1;
+	    observed.c_oflag != wanted.c_oflag) {
+		msg_pwarn("Some requested serial options did not stick, continuing anyway.\n");
+		msg_pdbg("          observed    wanted\n"
+			 "c_cflag:  0x%08lX  0x%08lX\n"
+			 "c_lflag:  0x%08lX  0x%08lX\n"
+			 "c_iflag:  0x%08lX  0x%08lX\n"
+			 "c_oflag:  0x%08lX  0x%08lX\n",
+			 (long)observed.c_cflag, (long)wanted.c_cflag,
+			 (long)observed.c_lflag, (long)wanted.c_lflag,
+			 (long)observed.c_iflag, (long)wanted.c_iflag,
+			 (long)observed.c_oflag, (long)wanted.c_oflag
+			);
+	}
+	if (cfgetispeed(&observed) != cfgetispeed(&wanted) ||
+	    cfgetospeed(&observed) != cfgetospeed(&wanted)) {
+		msg_pwarn("Could not set baud rates exactly.\n");
+		msg_pdbg("Actual baud flags are: ispeed: 0x%08lX, ospeed: 0x%08lX\n",
+			  (long)cfgetispeed(&observed), (long)cfgetospeed(&observed));
 	}
-	msg_pdbg("Baud rate is %d now.\n", entry->baud);
 #endif
 	return 0;
 }




More information about the flashrom mailing list