dm: eth: Test 'ethrotate' before changing current ethernet device
In eth_current_changed(), the call to eth_get_dev() below has a side effect of rotating ethernet device if uc_priv->current == NULL. This is not what we want when 'ethrotate' variable is 'no'. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
e7cc8d11ad
commit
a671c4f2be
11
net/eth.c
11
net/eth.c
@ -1039,6 +1039,17 @@ int eth_receive(void *packet, int length)
|
||||
static void eth_current_changed(void)
|
||||
{
|
||||
char *act = getenv("ethact");
|
||||
char *ethrotate;
|
||||
|
||||
/*
|
||||
* The call to eth_get_dev() below has a side effect of rotating
|
||||
* ethernet device if uc_priv->current == NULL. This is not what
|
||||
* we want when 'ethrotate' variable is 'no'.
|
||||
*/
|
||||
ethrotate = getenv("ethrotate");
|
||||
if ((ethrotate != NULL) && (strcmp(ethrotate, "no") == 0))
|
||||
return;
|
||||
|
||||
/* update current ethernet name */
|
||||
if (eth_get_dev()) {
|
||||
if (act == NULL || strcmp(act, eth_get_name()) != 0)
|
||||
|
Loading…
Reference in New Issue
Block a user