summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/cmd_nvedit.c7
-rw-r--r--net/eth.c5
-rw-r--r--net/net.c7
3 files changed, 12 insertions, 7 deletions
diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c
index 163765a8a0b..3ee971ab0e3 100644
--- a/common/cmd_nvedit.c
+++ b/common/cmd_nvedit.c
@@ -77,6 +77,13 @@ SPI_FLASH|MG_DISK|NVRAM|NOWHERE}
static const unsigned long baudrate_table[] = CONFIG_SYS_BAUDRATE_TABLE;
#define N_BAUDRATES (sizeof(baudrate_table) / sizeof(baudrate_table[0]))
+/*
+ * This variable is incremented on each do_setenv (), so it can
+ * be used via get_env_id() as an indication, if the environment
+ * has changed or not. So it is possible to reread an environment
+ * variable only if the environment was changed ... done so for
+ * example in NetInitLoop()
+ */
static int env_id = 1;
int get_env_id (void)
diff --git a/net/eth.c b/net/eth.c
index c6fa5b94318..8940ebf1179 100644
--- a/net/eth.c
+++ b/net/eth.c
@@ -57,9 +57,6 @@ int eth_setenv_enetaddr(char *name, const uchar *enetaddr)
#if defined(CONFIG_CMD_NET) && defined(CONFIG_NET_MULTI)
-static char *act = NULL;
-static int env_changed_id = 0;
-
/*
* CPU and board-specific Ethernet initializations. Aliased function
* signals caller to move on
@@ -471,6 +468,8 @@ void eth_try_another(int first_restart)
#ifdef CONFIG_NET_MULTI
void eth_set_current(void)
{
+ static char *act = NULL;
+ static int env_changed_id = 0;
struct eth_device* old_current;
int env_id;
diff --git a/net/net.c b/net/net.c
index b8648bd95aa..5637cf54f6d 100644
--- a/net/net.c
+++ b/net/net.c
@@ -209,8 +209,6 @@ uchar NetArpWaitPacketBuf[PKTSIZE_ALIGN + PKTALIGN];
ulong NetArpWaitTimerStart;
int NetArpWaitTry;
-int env_changed_id = 0;
-
void ArpRequest (void)
{
int i;
@@ -278,9 +276,10 @@ void ArpTimeoutCheck(void)
}
}
-int
+static void
NetInitLoop(proto_t protocol)
{
+ static int env_changed_id = 0;
bd_t *bd = gd->bd;
int env_id = get_env_id ();
@@ -295,7 +294,7 @@ NetInitLoop(proto_t protocol)
env_changed_id = env_id;
}
- return 0;
+ return;
}
/**********************************************************************/