Message ID | 1450766619-24725-1-git-send-email-bmeng.cn@gmail.com |
---|---|
State | Accepted |
Delegated to: | Simon Glass |
Headers | show |
On Tue, Dec 22, 2015 at 12:43 AM, Bin Meng <bmeng.cn@gmail.com> wrote: > 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>
On 22 December 2015 at 12:04, Joe Hershberger <joe.hershberger@gmail.com> wrote: > On Tue, Dec 22, 2015 at 12:43 AM, Bin Meng <bmeng.cn@gmail.com> wrote: >> 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 on sandbox: Tested-by: Simon Glass <sjg@chromium.org>
On 3 January 2016 at 13:52, Simon Glass <sjg@chromium.org> wrote: > On 22 December 2015 at 12:04, Joe Hershberger <joe.hershberger@gmail.com> wrote: >> On Tue, Dec 22, 2015 at 12:43 AM, Bin Meng <bmeng.cn@gmail.com> wrote: >>> 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 on sandbox: > Tested-by: Simon Glass <sjg@chromium.org> Applied to u-boot-dm/master, thanks!
diff --git a/net/eth.c b/net/eth.c index 6cf3a35..6c490a6 100644 --- a/net/eth.c +++ b/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)
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> --- net/eth.c | 11 +++++++++++ 1 file changed, 11 insertions(+)