diff options
Diffstat (limited to 'tests/boot-serial-test.c')
-rw-r--r-- | tests/boot-serial-test.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/tests/boot-serial-test.c b/tests/boot-serial-test.c index c935d69824..fa4183de29 100644 --- a/tests/boot-serial-test.c +++ b/tests/boot-serial-test.c @@ -43,12 +43,13 @@ static testdef_t tests[] = { static void check_guest_output(const testdef_t *test, int fd) { bool output_ok = false; - int i, nbr, pos = 0; + int i, nbr, pos = 0, ccnt; char ch; /* Poll serial output... Wait at most 60 seconds */ for (i = 0; i < 6000; ++i) { - while ((nbr = read(fd, &ch, 1)) == 1) { + ccnt = 0; + while ((nbr = read(fd, &ch, 1)) == 1 && ccnt++ < 512) { if (ch == test->expect[pos]) { pos += 1; if (test->expect[pos] == '\0') { |