Kirkwood: Fix tv sec/usec normalization in kwboot

Stefan Roese sr at denx.de
Wed Apr 28 07:22:25 CEST 2021


On 27.04.21 21:57, Dagan Martinez wrote:
>  From 328c559acf6872bf0cbafe7fbb881748d5c753fb Mon Sep 17 00:00:00 2001
> From: Property404 <dmartinez at starry.com>
> Date: Tue, 27 Apr 2021 15:48:31 -0400
> Subject: [PATCH] Kirkwood: Fix tv sec/usec normalization in kwboot
> 
> `kwboot.c` had an issue where it failed to normalize the `tv` struct in
> the case where the `tv_usec` field was 1000000, ie one second.
> 
> This caused issues on Fedora Linux 34, where `select` would return
> `EINVAL`, preventing kwboot from communicating with the board.
> 
> Signed-off-by: Property404 <dmartinez at starry.com>
> ---
>   tools/kwboot.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/kwboot.c b/tools/kwboot.c
> index 4be094c9c8..5d5d501d36 100644
> --- a/tools/kwboot.c
> +++ b/tools/kwboot.c
> @@ -167,7 +167,7 @@ kwboot_tty_recv(int fd, void *buf, size_t len, int timeo)
> 
>       tv.tv_sec = 0;
>       tv.tv_usec = timeo * 1000;
> -    if (tv.tv_usec > 1000000) {
> +    if (tv.tv_usec >= 1000000) {
>           tv.tv_sec += tv.tv_usec / 1000000;
>           tv.tv_usec %= 1000000;
>       }
> 

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

BTW: I'm not 100% sure, but my understanding is that it is preferred (or
even required) to provide a "real name" in the tags. So it might be that
"Property404" is not enough here.

Thanks,
Stefan


More information about the U-Boot mailing list