Kirkwood: Fix tv sec/usec normalization in kwboot
Dagan Martinez
dmartinez at starry.com
Wed Apr 28 13:24:06 CEST 2021
>From a45340719110b8a8b5292f6353fda7509be81417 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: Dagan Martinez <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;
}
--
2.31.1
More information about the U-Boot
mailing list