[PATCH 2/5] loadb: deactivate console before using it for loadb

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux