
On 3/7/22 19:03, Pali Rohár wrote:
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
Thanks, Stefan
tools/kwboot.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/tools/kwboot.c b/tools/kwboot.c index 986f27c2012a..3b45e19a30aa 100644 --- a/tools/kwboot.c +++ b/tools/kwboot.c @@ -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;
Viele Grüße, Stefan Roese