[PATCH u-boot-marvell 05/14] tools: kwboot: Do not change received character in kwboot_xm_recv_reply()

Stefan Roese sr at denx.de
Wed Jan 26 16:38:36 CET 2022


On 1/25/22 18:13, Marek Behún wrote:
> From: Pali Rohár <pali at kernel.org>
> 
> 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 at kernel.org>
> Signed-off-by: Marek Behún <marek.behun at nic.cz>

Reviewed-by: Stefan Roese <sr at denx.de>

Thanks,
Stefan

> ---
>   tools/kwboot.c | 6 ++----
>   1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/tools/kwboot.c b/tools/kwboot.c
> index 0b97990d09..a619a6c3c1 100644
> --- a/tools/kwboot.c
> +++ b/tools/kwboot.c
> @@ -875,7 +875,7 @@ kwboot_baud_magic_handle(int fd, char c, int baudrate)
>   }
>   
>   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 allow_non_xm, int *non_xm_print,
>   		     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;
>   			}
>   		} else {
> -			if (nak_on_non_xm) {
> -				*c = NAK;
> +			if (stop_on_non_xm)
>   				break;
> -			}
>   			timeout = recv_until - _now();
>   			if (timeout < 0) {
>   				errno = ETIMEDOUT;

Viele Grüße,
Stefan Roese

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de


More information about the U-Boot mailing list