tools: kwboot: Check if baudrate value is supported before sending image
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>
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user