summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Vasut <[email protected]>2026-04-20 03:23:07 +0200
committerTom Rini <[email protected]>2026-04-24 11:28:14 -0600
commitd64c4a69585aa096c693c0b7ec4e6e04333fc45f (patch)
tree897762af88d3c33808e0658484ba12b9c4d7739e
parent30885b01aaa4bcdfa3fee9ca3066d3af563e6688 (diff)
common: update: Fix TFTP return value handling
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 <[email protected]>
-rw-r--r--common/update.c6
1 files 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);