mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-14 00:47:26 +00:00
tools: kwboot: Do not change received character in kwboot_xm_recv_reply()
Marvell BootROM expects retransmission of previous xmodem packet only in the case when it sends NAK response to the host. Do not change non-xmodem response (possibly UART transfer error) to NAK in kwboot_xm_recv_reply() function. Allow caller to receive original response from device. Change argument 'nak_on_non_xm' to 'stop_on_non_xm'. Instead of changing non-xmodem character to NAK, stop processing on invalid character and return it. Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
94c906a0dd
commit
950ed24d23
1 changed files with 2 additions and 4 deletions
|
@ -875,7 +875,7 @@ kwboot_baud_magic_handle(int fd, char c, int baudrate)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
kwboot_xm_recv_reply(int fd, char *c, int nak_on_non_xm,
|
kwboot_xm_recv_reply(int fd, char *c, int stop_on_non_xm,
|
||||||
int ignore_nak_reply,
|
int ignore_nak_reply,
|
||||||
int allow_non_xm, int *non_xm_print,
|
int allow_non_xm, int *non_xm_print,
|
||||||
int baudrate, int *baud_changed)
|
int baudrate, int *baud_changed)
|
||||||
|
@ -931,10 +931,8 @@ kwboot_xm_recv_reply(int fd, char *c, int nak_on_non_xm,
|
||||||
*non_xm_print = 1;
|
*non_xm_print = 1;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (nak_on_non_xm) {
|
if (stop_on_non_xm)
|
||||||
*c = NAK;
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
timeout = recv_until - _now();
|
timeout = recv_until - _now();
|
||||||
if (timeout < 0) {
|
if (timeout < 0) {
|
||||||
errno = ETIMEDOUT;
|
errno = ETIMEDOUT;
|
||||||
|
|
Loading…
Reference in a new issue