From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthias Fuchs Date: Thu, 17 Jan 2008 07:45:05 +0100 Subject: [U-Boot-Users] [PATCH V2] net: add 'ethrotate' environment variable In-Reply-To: <478E86C5.1070405@gmail.com> References: <200801161232.51971.matthias.fuchs@esd-electronics.com> <478E86C5.1070405@gmail.com> Message-ID: <200801170745.06033.matthias.fuchs@esd-electronics.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de [PATCH] net: add 'ethrotate' environment variable This patch replaces the buildtime configuration option CONFIG_NET_DO_NOT_TRY_ANOTHER through the 'ethrotate' runtime configuration veriable. See README. Signed-off-by: Matthias Fuchs --- README | 4 ++++ net/eth.c | 9 +++++++++ 2 files changed, 13 insertions(+), 0 deletions(-) diff --git a/README b/README index f2a4914..d9c2ee2 100644 --- a/README +++ b/README @@ -2691,6 +2691,10 @@ Some configuration options can be set using Environment Variables: => setenv ethact SCC ETHERNET => ping 10.0.0.1 # traffic sent on SCC ETHERNET + ethrotate - When set to "no" U-Boot does not go through all + available network interfaces. + It just stays at the currently selected interface. + netretry - When set to "no" each network operation will either succeed or fail without retrying. When set to "once" the network operation will diff --git a/net/eth.c b/net/eth.c index 5d9e9c1..d55fd7e 100644 --- a/net/eth.c +++ b/net/eth.c @@ -522,6 +522,15 @@ int eth_receive(volatile void *packet, int length) void eth_try_another(int first_restart) { static struct eth_device *first_failed = NULL; + char *ethrotate; + + /* + * Do not rotate between network interfaces when + * 'ethrotate' variable is set to 'no'. + */ + if (((ethrotate = getenv ("ethrotate")) != NULL) && + (strcmp(ethrotate, "no") == 0)) + return; if (!eth_current) return; -- 1.5.3