]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
tools: kwboot: Check if baudrate value is supported before sending image
authorPali Rohár <pali@kernel.org>
Mon, 7 Mar 2022 18:03:08 +0000 (19:03 +0100)
committerStefan Roese <sr@denx.de>
Mon, 14 Mar 2022 13:04:18 +0000 (14:04 +0100)
Call kwboot_open_tty() which baudrate value which was specified at the
command line by option -B. This function returns error if baudrate is not
supported by selected tty device.

Initial baudrate for image transfer is always 115200, so call
kwboot_tty_change_baudrate() with value 115200 immediately after
kwboot_open_tty() if baudrate specified by option -B is different than
115200.

This makes kwboot fail immediately, informing that baudrate is unsupported,
instead of failing only after the first part of image is already sent.

Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Stefan Roese <sr@denx.de>
tools/kwboot.c

index 986f27c2012a622177724e31c8b7abb0e4532de2..3b45e19a30aaa9f955158a7648f85f85983e01e0 100644 (file)
@@ -2139,12 +2139,24 @@ main(int argc, char **argv)
                goto usage;
        }
 
-       tty = kwboot_open_tty(ttypath, imgpath ? 115200 : baudrate);
+       tty = kwboot_open_tty(ttypath, baudrate);
        if (tty < 0) {
                perror(ttypath);
                goto out;
        }
 
+       /*
+        * initial baudrate for image transfer is always 115200,
+        * the change to different baudrate is done only after the header is sent
+        */
+       if (imgpath && baudrate != 115200) {
+               rc = kwboot_tty_change_baudrate(tty, 115200);
+               if (rc) {
+                       perror(ttypath);
+                       goto out;
+               }
+       }
+
        if (baudrate == 115200)
                /* do not change baudrate during Xmodem to the same value */
                baudrate = 0;