[PATCH 2/7] scripts: kwboot: flush input and output only once
Uwe Kleine-König
u.kleine-koenig at pengutronix.de
Wed Sep 28 11:50:12 PDT 2016
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 at pengutronix.de>
---
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
More information about the barebox
mailing list