mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
net/net.c: Update ipaddr if the environment has changed
At least on ARM the ipaddr is only set in board_init_r function. The
problem is if ipaddr is not defined in environment importing another
environment defined don't update the ipaddr value.
For example, suppose we've a default environment without net variables
defined and we want to import an uEnv.txt environment from SD-card like
this:
ipaddr=192.168.2.240
netmask=255.255.255.0
gatewayip=192.168.2.1
serverip=192.168.2.114
Then if you try boot from NFS results in:
Importing environment from mmc ...
Running uenvcmd ...
smc911x: detected LAN9221 controller
smc911x: phy initialized
smc911x: MAC ac🇩🇪48:00:00:00
*** ERROR: `ipaddr' not set
The ipaddr at this point is NULL beacause is only set at board_init_r
function. This patch updates the ipaddr value if the environment has
changed.
Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
f345334d25
commit
23a70bf9c3
1 changed files with 2 additions and 1 deletions
|
@ -321,7 +321,8 @@ NetInitLoop(proto_t protocol)
|
|||
|
||||
/* update only when the environment has changed */
|
||||
if (env_changed_id != env_id) {
|
||||
NetCopyIP(&NetOurIP, &bd->bi_ip_addr);
|
||||
NetOurIP = getenv_IPaddr("ipaddr");
|
||||
NetCopyIP(&bd->bi_ip_addr, &NetOurIP);
|
||||
NetOurGatewayIP = getenv_IPaddr("gatewayip");
|
||||
NetOurSubnetMask = getenv_IPaddr("netmask");
|
||||
NetServerIP = getenv_IPaddr("serverip");
|
||||
|
|
Loading…
Reference in a new issue