When flushing input before sending of a boot message the acknowledging reply for the previous message from the CPU might be discarded and so missed. So only flush once before sending boot messages in a loop. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> --- scripts/kwboot.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/scripts/kwboot.c b/scripts/kwboot.c index 9d680dc576a7..9dfaf4a8dfb0 100644 --- a/scripts/kwboot.c +++ b/scripts/kwboot.c @@ -273,11 +273,11 @@ kwboot_bootmsg(int tty, void *msg) else kwboot_printv("Sending boot message. Please reboot the target..."); - do { - rc = tcflush(tty, TCIOFLUSH); - if (rc) - break; + rc = tcflush(tty, TCIOFLUSH); + if (rc) + return rc; + do { rc = kwboot_tty_send(tty, msg, 8); if (rc) { usleep(KWBOOT_MSG_REQ_DELAY * 1000); @@ -302,13 +302,13 @@ kwboot_debugmsg(int tty, void *msg) kwboot_printv("Sending debug message. Please reboot the target..."); + rc = tcflush(tty, TCIOFLUSH); + if (rc) + return rc; + do { char buf[16]; - rc = tcflush(tty, TCIOFLUSH); - if (rc) - break; - rc = kwboot_tty_send(tty, msg, 8); if (rc) { usleep(KWBOOT_MSG_REQ_DELAY * 1000); -- 2.9.3 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox