[PATCH] common: update: Fix TFTP return value handling

Marek Vasut marek.vasut+renesas at mailbox.org
Mon Apr 20 03:23:07 CEST 2026


The net_loop() returns 1 on success, but update_load() returns 0 on
success. Do not assign rv which is the return value of update_load()
to net_loop(), instead assign net_loop() return value to a temporary
variable and then update rv only if the temporary variable is negative.
This way the update_load() now correctly returns 0 on tftp success and
1 only on failure.

Signed-off-by: Marek Vasut <marek.vasut+renesas at mailbox.org>
---
Cc: Lukasz Majewski <lukma at denx.de>
Cc: Mattijs Korpershoek <mkorpershoek at kernel.org>
Cc: Tom Rini <trini at konsulko.com>
Cc: u-boot at lists.denx.de
---
 common/update.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/common/update.c b/common/update.c
index 0bafffede9e..06e53cbd402 100644
--- a/common/update.c
+++ b/common/update.c
@@ -32,7 +32,7 @@ static uchar *saved_prot_info;
 #endif
 static int update_load(char *filename, ulong msec_max, int cnt_max, ulong addr)
 {
-	int rv;
+	int rv, ret;
 	ulong saved_timeout_msecs;
 	int saved_timeout_count;
 	char *saved_netretry, *saved_bootfile;
@@ -54,9 +54,9 @@ static int update_load(char *filename, ulong msec_max, int cnt_max, ulong addr)
 	/* download the update file */
 	image_load_addr = addr;
 	copy_filename(net_boot_file_name, filename, sizeof(net_boot_file_name));
-	rv = net_loop(TFTPGET);
+	ret = net_loop(TFTPGET);
 
-	if (rv < 0)
+	if (ret < 0)
 		rv = 1;
 	else
 		flush_cache(addr, net_boot_file_size);
-- 
2.53.0



More information about the U-Boot mailing list