diff options
author | Joe Hershberger <joe.hershberger@ni.com> | 2018-07-03 19:36:42 -0500 |
---|---|---|
committer | Joe Hershberger <joe.hershberger@ni.com> | 2018-07-26 14:08:20 -0500 |
commit | f43308fa0c7834d9707a2c212591275d1e095e50 (patch) | |
tree | 2c70d2c73a657c2df736b335b32fd77a2b2bc8ff /cmd | |
parent | 16cf145fd659a01c5db7f286e8c9a4700f736920 (diff) | |
download | u-boot-f43308fa0c7834d9707a2c212591275d1e095e50.tar.gz |
net: Read bootfile from env on netboot_common()
Instead of depending on a env callback for bootfile, read it explicitly.
We do this because the bootfile can be specified on the command line and
if it is, we will overwrite the internal variable. If a netboot_common()
is called again with no bootfile parameter, we want to use the one in
the environment.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/net.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -192,6 +192,9 @@ static int netboot_common(enum proto_t proto, cmd_tbl_t *cmdtp, int argc, switch (argc) { case 1: + /* refresh bootfile name from env */ + copy_filename(net_boot_file_name, env_get("bootfile"), + sizeof(net_boot_file_name)); break; case 2: /* @@ -203,6 +206,9 @@ static int netboot_common(enum proto_t proto, cmd_tbl_t *cmdtp, int argc, addr = simple_strtoul(argv[1], &end, 16); if (end == (argv[1] + strlen(argv[1]))) { load_addr = addr; + /* refresh bootfile name from env */ + copy_filename(net_boot_file_name, env_get("bootfile"), + sizeof(net_boot_file_name)); } else { net_boot_file_name_explicit = true; copy_filename(net_boot_file_name, argv[1], |