From 5cde50c5f8e9bc9d2cf75b031144c360a4a2127d Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 12 Jul 2011 04:25:20 +0000 Subject: add retry --- bootloader/bootloader.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'bootloader') diff --git a/bootloader/bootloader.c b/bootloader/bootloader.c index fe570d7..3e9999e 100644 --- a/bootloader/bootloader.c +++ b/bootloader/bootloader.c @@ -27,7 +27,7 @@ int transfer(int fd, struct page *p, int pages, int pagesize) { - int n, off; + int n, off, maxerr = 3; unsigned char sum; fprintf(stderr, "waiting for bootloader ..."); @@ -61,7 +61,10 @@ transfer(int fd, struct page *p, int pages, int pagesize) fprintf(stderr, "E"); break; default: - goto fubar; + if (!maxerr--) + goto fubar; + fprintf(stderr, "\ngarbage on the line, retry\n"); + return transfer(fd, p, pages, pagesize); } } } -- cgit v1.2.3