Remove the console device we are about using for loadb from the console layer by deactivating it. This makes sure that no printf output disturbs the current file transfer. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- commands/loadb.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/commands/loadb.c b/commands/loadb.c index bdf1710..6710665 100644 --- a/commands/loadb.c +++ b/commands/loadb.c @@ -617,6 +617,7 @@ static int do_load_serial_bin(int argc, char *argv[]) int rcode = 0, ret; int opt; char *output_file = NULL; + int current_active; while ((opt = getopt(argc, argv, "f:b:o:c")) > 0) { switch (opt) { @@ -641,6 +642,7 @@ static int do_load_serial_bin(int argc, char *argv[]) return -ENODEV; } current_baudrate = console_get_baudrate(cdev); + current_active = console_get_active(cdev); /* Load Defaults */ if (load_baudrate == 0) @@ -665,13 +667,15 @@ static int do_load_serial_bin(int argc, char *argv[]) } } + printf("## Ready for binary (kermit) download " + "to 0x%08lX offset on %s device at %d bps...\n", offset, + output_file, load_baudrate); + + console_set_active(cdev, 0); ret = console_set_baudrate(cdev, load_baudrate); if (ret) return ret; - printf("## Ready for binary (kermit) download " - "to 0x%08lX offset on %s device at %d bps...\n", offset, - output_file, load_baudrate); addr = load_serial_bin(); if (addr == 0) { printf("## Binary (kermit) download aborted\n"); @@ -682,6 +686,8 @@ static int do_load_serial_bin(int argc, char *argv[]) if (ret) return ret; + console_set_active(cdev, current_active); + close(ofd); ofd = 0; return rcode; -- 2.6.2 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox