mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-27 15:12:36 +02:00
Fix serprog on FreeBSD
Using serprog on FreeBSD to read an SPI flash (MX25L6406) via an Arduino Nano V3 with flashrom hangs after 5 seconds while reading. The problem is that kernel method "ttydisc_rint" ignores some bytes. It happens due to enabled IEXTEN local flag of termios. TTY cuts a few bytes, Arduino reads 11264 bytes, but flashrom gets only 11244 bytes and waits for the remaining 20 bytes. The fix is simple: turn off the IEXTEN local flag. Tested on Arduino Nano V3 + FreeBSD 12-CURRENT. Change-Id: I7aa6a283d523c544d9b8923cd4c622bf08c0fb3f Signed-off-by: Michael Zhilin <mizhka@gmail.com> Reviewed-on: https://review.coreboot.org/21919 Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Urja Rannikko <urjaman@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
615ba1849c
commit
2ec33f9e6a
2
serial.c
2
serial.c
@ -215,7 +215,7 @@ int serialport_config(fdtype fd, int baud)
|
||||
}
|
||||
wanted.c_cflag &= ~(PARENB | CSTOPB | CSIZE | CRTSCTS);
|
||||
wanted.c_cflag |= (CS8 | CLOCAL | CREAD);
|
||||
wanted.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
|
||||
wanted.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG | IEXTEN);
|
||||
wanted.c_iflag &= ~(IXON | IXOFF | IXANY | ICRNL | IGNCR | INLCR);
|
||||
wanted.c_oflag &= ~OPOST;
|
||||
if (tcsetattr(fd, TCSANOW, &wanted) != 0) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user