aboutsummaryrefslogtreecommitdiff
path: root/board/CZ.NIC
diff options
context:
space:
mode:
authorMarek BehĂșn <marek.behun@nic.cz>2021-10-09 19:33:42 +0200
committerStefan Roese <sr@denx.de>2021-10-21 07:39:05 +0200
commit0034d84a66eaa51263a4881274b75de5b1c4f800 (patch)
tree8741bc20c286da2f2b9765ff3c4c9c617b18f487 /board/CZ.NIC
parentf3c71e75b08b7cbe35acc29d89e90c05edd70d40 (diff)
downloadu-boot-0034d84a66eaa51263a4881274b75de5b1c4f800.zip
u-boot-0034d84a66eaa51263a4881274b75de5b1c4f800.tar.gz
u-boot-0034d84a66eaa51263a4881274b75de5b1c4f800.tar.bz2
arm: mvebu: turris_mox: Better check for valid ethernet addresses in env
Currently we overwrite ethaddr and eth1addr only if these variables don't exist. Better overwrite them even if the env variable exists, but is invalid - eth_env_get_enetaddr_by_index() checks for validity. Refactor the code to use a for cycle. Signed-off-by: Marek BehĂșn <marek.behun@nic.cz> Reviewed-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'board/CZ.NIC')
-rw-r--r--board/CZ.NIC/turris_mox/turris_mox.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/board/CZ.NIC/turris_mox/turris_mox.c b/board/CZ.NIC/turris_mox/turris_mox.c
index 7c5acfd..2202eb8 100644
--- a/board/CZ.NIC/turris_mox/turris_mox.c
+++ b/board/CZ.NIC/turris_mox/turris_mox.c
@@ -359,20 +359,22 @@ static int get_reset_gpio(struct gpio_desc *reset_gpio)
int misc_init_r(void)
{
- int ret;
- u8 mac1[6], mac2[6];
+ u8 mac[2][6];
+ int i, ret;
- ret = mbox_sp_get_board_info(NULL, mac1, mac2, NULL, NULL);
+ ret = mbox_sp_get_board_info(NULL, mac[0], mac[1], NULL, NULL);
if (ret < 0) {
printf("Cannot read data from OTP!\n");
return 0;
}
- if (is_valid_ethaddr(mac1) && !env_get("ethaddr"))
- eth_env_set_enetaddr("ethaddr", mac1);
+ for (i = 0; i < 2; ++i) {
+ u8 oldmac[6];
- if (is_valid_ethaddr(mac2) && !env_get("eth1addr"))
- eth_env_set_enetaddr("eth1addr", mac2);
+ if (is_valid_ethaddr(mac[i]) &&
+ !eth_env_get_enetaddr_by_index("eth", i, oldmac))
+ eth_env_set_enetaddr_by_index("eth", i, mac[i]);
+ }
return 0;
}